]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_STM32L152_IAR/system_and_ST_code/STM32L152_EVAL/stm32l152_eval.h
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / CORTEX_STM32L152_IAR / system_and_ST_code / STM32L152_EVAL / stm32l152_eval.h
1 /**\r
2   ******************************************************************************\r
3   * @file    stm32l152_eval.h\r
4   * @author  MCD Application Team\r
5   * @version V4.4.0RC1\r
6   * @date    07/02/2010\r
7   * @brief   This file contains definitions for STM32L152_EVAL's Leds, push-buttons\r
8   *          and COM ports hardware resources.\r
9   ******************************************************************************\r
10   * @copy\r
11   *\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
18   *\r
19   * <h2><center>&copy; COPYRIGHT 2010 STMicroelectronics</center></h2>\r
20   */ \r
21   \r
22 /* Define to prevent recursive inclusion -------------------------------------*/\r
23 #ifndef __STM32L152_EVAL_H\r
24 #define __STM32L152_EVAL_H\r
25 \r
26 #ifdef __cplusplus\r
27  extern "C" {\r
28 #endif\r
29 \r
30 /* Includes ------------------------------------------------------------------*/\r
31 #include "stm32_eval.h"\r
32 \r
33 /** @addtogroup Utilities\r
34   * @{\r
35   */\r
36 \r
37 /** @addtogroup STM32_EVAL\r
38   * @{\r
39   */\r
40 \r
41 /** @addtogroup STM32L152_EVAL\r
42   * @{\r
43   */\r
44       \r
45 /** @addtogroup STM32L152_EVAL_LOW_LEVEL\r
46   * @{\r
47   */ \r
48 \r
49 /** @defgroup STM32L152_EVAL_LOW_LEVEL_Exported_Types\r
50   * @{\r
51   */\r
52 /**\r
53   * @}\r
54   */ \r
55 \r
56 /** @defgroup STM32L152_EVAL_LOW_LEVEL_Exported_Constants\r
57   * @{\r
58   */ \r
59 \r
60 /** @addtogroup STM32L152_EVAL_LOW_LEVEL_LED\r
61   * @{\r
62   */\r
63 #define LEDn                             4\r
64 \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
68   \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
72   \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
76   \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
80 \r
81 /**\r
82   * @}\r
83   */ \r
84   \r
85 /** @addtogroup STM32L152_EVAL_LOW_LEVEL_BUTTON\r
86   * @{\r
87   */  \r
88 #define BUTTONn                          8 \r
89 \r
90 /**\r
91  * @brief Wakeup push-button\r
92  */\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
100 \r
101 /**\r
102  * @brief Tamper push-button\r
103  */\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
111 \r
112 /**\r
113  * @brief Key push-button\r
114  */\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
122 \r
123 /**\r
124  * @brief Joystick Right push-button\r
125  */\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
133 \r
134 /**\r
135  * @brief Joystick Left push-button\r
136  */\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
144 \r
145 /**\r
146  * @brief Joystick Up push-button\r
147  */\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
155 \r
156 /**\r
157  * @brief Joystick Down push-button\r
158  */  \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
166 \r
167 /**\r
168  * @brief Joystick Sel push-button\r
169  */\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
177 \r
178 /**\r
179   * @}\r
180   */ \r
181 \r
182 /** @addtogroup STM32L152_EVAL_LOW_LEVEL_COM\r
183   * @{\r
184   */\r
185 #define COMn                             2\r
186 \r
187 /**\r
188  * @brief Definition for COM port1, connected to USART2\r
189  */ \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
203 \r
204 /**\r
205  * @brief Definition for COM port2, connected to USART3\r
206  */ \r
207 #define EVAL_COM2                        USART3\r
208 #define EVAL_COM2_CLK                    RCC_APB1Periph_USART3\r
209 \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
215 \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
222 \r
223 /**\r
224   * @}\r
225   */ \r
226 \r
227 /** @addtogroup STM32L152_EVAL_LOW_LEVEL_SD_FLASH\r
228   * @{\r
229   */ \r
230 /**\r
231   * @brief  SD Card SPI Interface\r
232   */  \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
256 /**\r
257   * @}\r
258   */ \r
259   \r
260 /** @addtogroup STM32L152_EVAL_LOW_LEVEL_TSENSOR_I2C\r
261   * @{\r
262   */\r
263 /**\r
264   * @brief  LM75 Temperature Sensor I2C Interface pins\r
265   */  \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
283 /**\r
284   * @}\r
285   */  \r
286 /**\r
287   * @}\r
288   */ \r
289   \r
290 /** @defgroup STM32L152_EVAL_LOW_LEVEL_Exported_Macros\r
291   * @{\r
292   */  \r
293 /**\r
294   * @}\r
295   */ \r
296 \r
297 \r
298 /** @defgroup STM32L152_EVAL_LOW_LEVEL_Exported_Functions\r
299   * @{\r
300   */\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
312 /**\r
313   * @}\r
314   */\r
315   \r
316 #ifdef __cplusplus\r
317 }\r
318 #endif\r
319 \r
320 #endif /* __STM32L152_EVAL_H */\r
321 /**\r
322   * @}\r
323   */ \r
324 \r
325 /**\r
326   * @}\r
327   */ \r
328 \r
329 /**\r
330   * @}\r
331   */\r
332 \r
333 /**\r
334   * @}\r
335   */  \r
336 \r
337 /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/\r