2 ******************************************************************************
\r
3 * @file stm32l152_eval.h
\r
4 * @author MCD Application Team
\r
7 * @brief This file contains definitions for STM32L152_EVAL's Leds, push-buttons
\r
8 * and COM ports hardware resources.
\r
9 ******************************************************************************
\r
12 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
\r
13 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
\r
14 * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
\r
15 * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
\r
16 * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
\r
17 * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
\r
19 * <h2><center>© COPYRIGHT 2010 STMicroelectronics</center></h2>
\r
22 /* Define to prevent recursive inclusion -------------------------------------*/
\r
23 #ifndef __STM32L152_EVAL_H
\r
24 #define __STM32L152_EVAL_H
\r
30 /* Includes ------------------------------------------------------------------*/
\r
31 #include "stm32_eval.h"
\r
33 /** @addtogroup Utilities
\r
37 /** @addtogroup STM32_EVAL
\r
41 /** @addtogroup STM32L152_EVAL
\r
45 /** @addtogroup STM32L152_EVAL_LOW_LEVEL
\r
49 /** @defgroup STM32L152_EVAL_LOW_LEVEL_Exported_Types
\r
56 /** @defgroup STM32L152_EVAL_LOW_LEVEL_Exported_Constants
\r
60 /** @addtogroup STM32L152_EVAL_LOW_LEVEL_LED
\r
65 #define LED1_PIN GPIO_Pin_0
\r
66 #define LED1_GPIO_PORT GPIOD
\r
67 #define LED1_GPIO_CLK RCC_AHBPeriph_GPIOD
\r
69 #define LED2_PIN GPIO_Pin_1
\r
70 #define LED2_GPIO_PORT GPIOD
\r
71 #define LED2_GPIO_CLK RCC_AHBPeriph_GPIOD
\r
73 #define LED3_PIN GPIO_Pin_4
\r
74 #define LED3_GPIO_PORT GPIOD
\r
75 #define LED3_GPIO_CLK RCC_AHBPeriph_GPIOD
\r
77 #define LED4_PIN GPIO_Pin_5
\r
78 #define LED4_GPIO_PORT GPIOD
\r
79 #define LED4_GPIO_CLK RCC_AHBPeriph_GPIOD
\r
85 /** @addtogroup STM32L152_EVAL_LOW_LEVEL_BUTTON
\r
91 * @brief Wakeup push-button
\r
93 #define WAKEUP_BUTTON_PIN GPIO_Pin_13
\r
94 #define WAKEUP_BUTTON_GPIO_PORT GPIOC
\r
95 #define WAKEUP_BUTTON_GPIO_CLK RCC_AHBPeriph_GPIOC
\r
96 #define WAKEUP_BUTTON_EXTI_LINE EXTI_Line13
\r
97 #define WAKEUP_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOC
\r
98 #define WAKEUP_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource13
\r
99 #define WAKEUP_BUTTON_EXTI_IRQn EXTI15_10_IRQn
\r
102 * @brief Tamper push-button
\r
104 #define TAMPER_BUTTON_PIN GPIO_Pin_13
\r
105 #define TAMPER_BUTTON_GPIO_PORT GPIOC
\r
106 #define TAMPER_BUTTON_GPIO_CLK RCC_AHBPeriph_GPIOC
\r
107 #define TAMPER_BUTTON_EXTI_LINE EXTI_Line13
\r
108 #define TAMPER_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOC
\r
109 #define TAMPER_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource13
\r
110 #define TAMPER_BUTTON_EXTI_IRQn EXTI15_10_IRQn
\r
113 * @brief Key push-button
\r
115 #define KEY_BUTTON_PIN GPIO_Pin_13
\r
116 #define KEY_BUTTON_GPIO_PORT GPIOC
\r
117 #define KEY_BUTTON_GPIO_CLK RCC_AHBPeriph_GPIOC
\r
118 #define KEY_BUTTON_EXTI_LINE EXTI_Line13
\r
119 #define KEY_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOC
\r
120 #define KEY_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource13
\r
121 #define KEY_BUTTON_EXTI_IRQn EXTI15_10_IRQn
\r
124 * @brief Joystick Right push-button
\r
126 #define RIGHT_BUTTON_PIN GPIO_Pin_11
\r
127 #define RIGHT_BUTTON_GPIO_PORT GPIOE
\r
128 #define RIGHT_BUTTON_GPIO_CLK RCC_AHBPeriph_GPIOE
\r
129 #define RIGHT_BUTTON_EXTI_LINE EXTI_Line11
\r
130 #define RIGHT_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOE
\r
131 #define RIGHT_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource11
\r
132 #define RIGHT_BUTTON_EXTI_IRQn EXTI15_10_IRQn
\r
135 * @brief Joystick Left push-button
\r
137 #define LEFT_BUTTON_PIN GPIO_Pin_12
\r
138 #define LEFT_BUTTON_GPIO_PORT GPIOE
\r
139 #define LEFT_BUTTON_GPIO_CLK RCC_AHBPeriph_GPIOE
\r
140 #define LEFT_BUTTON_EXTI_LINE EXTI_Line12
\r
141 #define LEFT_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOE
\r
142 #define LEFT_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource12
\r
143 #define LEFT_BUTTON_EXTI_IRQn EXTI15_10_IRQn
\r
146 * @brief Joystick Up push-button
\r
148 #define UP_BUTTON_PIN GPIO_Pin_9
\r
149 #define UP_BUTTON_GPIO_PORT GPIOE
\r
150 #define UP_BUTTON_GPIO_CLK RCC_AHBPeriph_GPIOE
\r
151 #define UP_BUTTON_EXTI_LINE EXTI_Line9
\r
152 #define UP_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOE
\r
153 #define UP_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource9
\r
154 #define UP_BUTTON_EXTI_IRQn EXTI9_5_IRQn
\r
157 * @brief Joystick Down push-button
\r
159 #define DOWN_BUTTON_PIN GPIO_Pin_10
\r
160 #define DOWN_BUTTON_GPIO_PORT GPIOE
\r
161 #define DOWN_BUTTON_GPIO_CLK RCC_AHBPeriph_GPIOE
\r
162 #define DOWN_BUTTON_EXTI_LINE EXTI_Line10
\r
163 #define DOWN_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOE
\r
164 #define DOWN_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource10
\r
165 #define DOWN_BUTTON_EXTI_IRQn EXTI15_10_IRQn
\r
168 * @brief Joystick Sel push-button
\r
170 #define SEL_BUTTON_PIN GPIO_Pin_8
\r
171 #define SEL_BUTTON_GPIO_PORT GPIOE
\r
172 #define SEL_BUTTON_GPIO_CLK RCC_AHBPeriph_GPIOE
\r
173 #define SEL_BUTTON_EXTI_LINE EXTI_Line8
\r
174 #define SEL_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOE
\r
175 #define SEL_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource8
\r
176 #define SEL_BUTTON_EXTI_IRQn EXTI9_5_IRQn
\r
182 /** @addtogroup STM32L152_EVAL_LOW_LEVEL_COM
\r
188 * @brief Definition for COM port1, connected to USART2
\r
190 #define EVAL_COM1 USART2
\r
191 #define EVAL_COM1_CLK RCC_APB1Periph_USART2
\r
192 #define EVAL_COM1_TX_PIN GPIO_Pin_5
\r
193 #define EVAL_COM1_TX_GPIO_PORT GPIOD
\r
194 #define EVAL_COM1_TX_GPIO_CLK RCC_AHBPeriph_GPIOD
\r
195 #define EVAL_COM1_TX_SOURCE GPIO_PinSource5
\r
196 #define EVAL_COM1_TX_AF GPIO_AF_USART2
\r
197 #define EVAL_COM1_RX_PIN GPIO_Pin_6
\r
198 #define EVAL_COM1_RX_GPIO_PORT GPIOD
\r
199 #define EVAL_COM1_RX_GPIO_CLK RCC_AHBPeriph_GPIOD
\r
200 #define EVAL_COM1_RX_SOURCE GPIO_PinSource6
\r
201 #define EVAL_COM1_RX_AF GPIO_AF_USART2
\r
202 #define EVAL_COM1_IRQn USART2_IRQn
\r
205 * @brief Definition for COM port2, connected to USART3
\r
207 #define EVAL_COM2 USART3
\r
208 #define EVAL_COM2_CLK RCC_APB1Periph_USART3
\r
210 #define EVAL_COM2_TX_PIN GPIO_Pin_10
\r
211 #define EVAL_COM2_TX_GPIO_PORT GPIOC
\r
212 #define EVAL_COM2_TX_GPIO_CLK RCC_AHBPeriph_GPIOC
\r
213 #define EVAL_COM2_TX_SOURCE GPIO_PinSource10
\r
214 #define EVAL_COM2_TX_AF GPIO_AF_USART3
\r
216 #define EVAL_COM2_RX_PIN GPIO_Pin_11
\r
217 #define EVAL_COM2_RX_GPIO_PORT GPIOC
\r
218 #define EVAL_COM2_RX_GPIO_CLK RCC_AHBPeriph_GPIOC
\r
219 #define EVAL_COM2_RX_SOURCE GPIO_PinSource11
\r
220 #define EVAL_COM2_RX_AF GPIO_AF_USART3
\r
221 #define EVAL_COM2_IRQn USART3_IRQn
\r
227 /** @addtogroup STM32L152_EVAL_LOW_LEVEL_SD_FLASH
\r
231 * @brief SD Card SPI Interface
\r
233 #define SD_SPI SPI2
\r
234 #define SD_SPI_CLK RCC_APB1Periph_SPI2
\r
235 #define SD_SPI_SCK_PIN GPIO_Pin_13 /* PB.13 */
\r
236 #define SD_SPI_SCK_GPIO_PORT GPIOB /* GPIOB */
\r
237 #define SD_SPI_SCK_GPIO_CLK RCC_AHBPeriph_GPIOB
\r
238 #define SD_SPI_SCK_SOURCE GPIO_PinSource13
\r
239 #define SD_SPI_SCK_AF GPIO_AF_SPI2
\r
240 #define SD_SPI_MISO_PIN GPIO_Pin_14 /* PB.14 */
\r
241 #define SD_SPI_MISO_GPIO_PORT GPIOB /* GPIOB */
\r
242 #define SD_SPI_MISO_GPIO_CLK RCC_AHBPeriph_GPIOB
\r
243 #define SD_SPI_MISO_SOURCE GPIO_PinSource14
\r
244 #define SD_SPI_MISO_AF GPIO_AF_SPI2
\r
245 #define SD_SPI_MOSI_PIN GPIO_Pin_15 /* PB.15 */
\r
246 #define SD_SPI_MOSI_GPIO_PORT GPIOB /* GPIOB */
\r
247 #define SD_SPI_MOSI_GPIO_CLK RCC_AHBPeriph_GPIOB
\r
248 #define SD_SPI_MOSI_SOURCE GPIO_PinSource15
\r
249 #define SD_SPI_MOSI_AF GPIO_AF_SPI2
\r
250 #define SD_CS_PIN GPIO_Pin_7 /* PD.07 */
\r
251 #define SD_CS_GPIO_PORT GPIOD /* GPIOD */
\r
252 #define SD_CS_GPIO_CLK RCC_AHBPeriph_GPIOD
\r
253 #define SD_DETECT_PIN GPIO_Pin_7 /* PE.07 */
\r
254 #define SD_DETECT_GPIO_PORT GPIOE /* GPIOE */
\r
255 #define SD_DETECT_GPIO_CLK RCC_AHBPeriph_GPIOE
\r
260 /** @addtogroup STM32L152_EVAL_LOW_LEVEL_TSENSOR_I2C
\r
264 * @brief LM75 Temperature Sensor I2C Interface pins
\r
266 #define LM75_I2C I2C1
\r
267 #define LM75_I2C_CLK RCC_APB1Periph_I2C1
\r
268 #define LM75_I2C_SCL_PIN GPIO_Pin_6 /* PB.06 */
\r
269 #define LM75_I2C_SCL_GPIO_PORT GPIOB /* GPIOB */
\r
270 #define LM75_I2C_SCL_GPIO_CLK RCC_AHBPeriph_GPIOB
\r
271 #define LM75_I2C_SCL_SOURCE GPIO_PinSource6
\r
272 #define LM75_I2C_SCL_AF GPIO_AF_I2C1
\r
273 #define LM75_I2C_SDA_PIN GPIO_Pin_7 /* PB.07 */
\r
274 #define LM75_I2C_SDA_GPIO_PORT GPIOB /* GPIOB */
\r
275 #define LM75_I2C_SDA_GPIO_CLK RCC_AHBPeriph_GPIOB
\r
276 #define LM75_I2C_SDA_SOURCE GPIO_PinSource7
\r
277 #define LM75_I2C_SDA_AF GPIO_AF_I2C1
\r
278 #define LM75_I2C_SMBUSALERT_PIN GPIO_Pin_5 /* PB.05 */
\r
279 #define LM75_I2C_SMBUSALERT_GPIO_PORT GPIOB /* GPIOB */
\r
280 #define LM75_I2C_SMBUSALERT_GPIO_CLK RCC_AHBPeriph_GPIOB
\r
281 #define LM75_I2C_SMBUSALERT_SOURCE GPIO_PinSource5
\r
282 #define LM75_I2C_SMBUSALERT_AF GPIO_AF_I2C1
\r
290 /** @defgroup STM32L152_EVAL_LOW_LEVEL_Exported_Macros
\r
298 /** @defgroup STM32L152_EVAL_LOW_LEVEL_Exported_Functions
\r
301 void STM_EVAL_LEDInit(Led_TypeDef Led);
\r
302 void STM_EVAL_LEDOn(Led_TypeDef Led);
\r
303 void STM_EVAL_LEDOff(Led_TypeDef Led);
\r
304 void STM_EVAL_LEDToggle(Led_TypeDef Led);
\r
305 void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode);
\r
306 uint32_t STM_EVAL_PBGetState(Button_TypeDef Button);
\r
307 void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct);
\r
308 void SD_LowLevel_DeInit(void);
\r
309 void SD_LowLevel_Init(void);
\r
310 void LM75_LowLevel_DeInit(void);
\r
311 void LM75_LowLevel_Init(void);
\r
320 #endif /* __STM32L152_EVAL_H */
\r
337 /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/
\r