comparison libs/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval.h @ 0:c59513fd84fb

Initial commit of STM32 test code.
author Daniel O'Connor <darius@dons.net.au>
date Mon, 03 Oct 2011 21:19:15 +1030
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:c59513fd84fb
1 /**
2 ******************************************************************************
3 * @file stm32100e_eval.h
4 * @author MCD Application Team
5 * @version V4.5.0
6 * @date 07-March-2011
7 * @brief This file contains definitions for STM32100E_EVAL's Leds, push-buttons
8 * COM ports, sFLASH (on SPI) and Temperature Sensor LM75 (on I2C)
9 * hardware resources.
10 ******************************************************************************
11 * @attention
12 *
13 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
14 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
15 * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
16 * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
17 * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
18 * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
19 *
20 * <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>
21 ******************************************************************************
22 */
23
24 /* Define to prevent recursive inclusion -------------------------------------*/
25 #ifndef __STM32100E_EVAL_H
26 #define __STM32100E_EVAL_H
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31
32 /* Includes ------------------------------------------------------------------*/
33 #include "stm32_eval.h"
34
35 /** @addtogroup Utilities
36 * @{
37 */
38
39 /** @addtogroup STM32_EVAL
40 * @{
41 */
42
43 /** @addtogroup STM32100E_EVAL
44 * @{
45 */
46
47 /** @addtogroup STM32100E_EVAL_LOW_LEVEL
48 * @{
49 */
50
51 /** @defgroup STM32100E_EVAL_LOW_LEVEL_Exported_Types
52 * @{
53 */
54 /**
55 * @}
56 */
57
58 /** @defgroup STM32100E_EVAL_LOW_LEVEL_Exported_Constants
59 * @{
60 */
61 /** @addtogroup STM32100E_EVAL_LOW_LEVEL_LED
62 * @{
63 */
64 #define LEDn 4
65
66 #define LED1_PIN GPIO_Pin_6
67 #define LED1_GPIO_PORT GPIOF
68 #define LED1_GPIO_CLK RCC_APB2Periph_GPIOF
69
70 #define LED2_PIN GPIO_Pin_7
71 #define LED2_GPIO_PORT GPIOF
72 #define LED2_GPIO_CLK RCC_APB2Periph_GPIOF
73
74 #define LED3_PIN GPIO_Pin_8
75 #define LED3_GPIO_PORT GPIOF
76 #define LED3_GPIO_CLK RCC_APB2Periph_GPIOF
77
78 #define LED4_PIN GPIO_Pin_9
79 #define LED4_GPIO_PORT GPIOF
80 #define LED4_GPIO_CLK RCC_APB2Periph_GPIOF
81
82 /**
83 * @}
84 */
85
86 /** @addtogroup STM32100E_EVAL_LOW_LEVEL_BUTTON
87 * @{
88 */
89 #define BUTTONn 8
90
91 /**
92 * @brief Wakeup push-button
93 */
94 #define WAKEUP_BUTTON_PIN GPIO_Pin_0
95 #define WAKEUP_BUTTON_GPIO_PORT GPIOA
96 #define WAKEUP_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOA
97 #define WAKEUP_BUTTON_EXTI_LINE EXTI_Line0
98 #define WAKEUP_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOA
99 #define WAKEUP_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource0
100 #define WAKEUP_BUTTON_EXTI_IRQn EXTI0_IRQn
101 /**
102 * @brief Tamper push-button
103 */
104 #define TAMPER_BUTTON_PIN GPIO_Pin_13
105 #define TAMPER_BUTTON_GPIO_PORT GPIOC
106 #define TAMPER_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOC
107 #define TAMPER_BUTTON_EXTI_LINE EXTI_Line13
108 #define TAMPER_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOC
109 #define TAMPER_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource13
110 #define TAMPER_BUTTON_EXTI_IRQn EXTI15_10_IRQn
111 /**
112 * @brief Key push-button
113 */
114 #define KEY_BUTTON_PIN GPIO_Pin_8
115 #define KEY_BUTTON_GPIO_PORT GPIOG
116 #define KEY_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOG
117 #define KEY_BUTTON_EXTI_LINE EXTI_Line8
118 #define KEY_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOG
119 #define KEY_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource8
120 #define KEY_BUTTON_EXTI_IRQn EXTI9_5_IRQn
121 /**
122 * @brief Joystick Right push-button
123 */
124 #define RIGHT_BUTTON_PIN GPIO_Pin_13
125 #define RIGHT_BUTTON_GPIO_PORT GPIOG
126 #define RIGHT_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOG
127 #define RIGHT_BUTTON_EXTI_LINE EXTI_Line13
128 #define RIGHT_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOG
129 #define RIGHT_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource13
130 #define RIGHT_BUTTON_EXTI_IRQn EXTI15_10_IRQn
131 /**
132 * @brief Joystick Left push-button
133 */
134 #define LEFT_BUTTON_PIN GPIO_Pin_14
135 #define LEFT_BUTTON_GPIO_PORT GPIOG
136 #define LEFT_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOG
137 #define LEFT_BUTTON_EXTI_LINE EXTI_Line14
138 #define LEFT_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOG
139 #define LEFT_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource14
140 #define LEFT_BUTTON_EXTI_IRQn EXTI15_10_IRQn
141 /**
142 * @brief Joystick Up push-button
143 */
144 #define UP_BUTTON_PIN GPIO_Pin_15
145 #define UP_BUTTON_GPIO_PORT GPIOG
146 #define UP_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOG
147 #define UP_BUTTON_EXTI_LINE EXTI_Line15
148 #define UP_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOG
149 #define UP_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource15
150 #define UP_BUTTON_EXTI_IRQn EXTI15_10_IRQn
151 /**
152 * @brief Joystick Down push-button
153 */
154 #define DOWN_BUTTON_PIN GPIO_Pin_11
155 #define DOWN_BUTTON_GPIO_PORT GPIOG
156 #define DOWN_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOG
157 #define DOWN_BUTTON_EXTI_LINE EXTI_Line11
158 #define DOWN_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOG
159 #define DOWN_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource11
160 #define DOWN_BUTTON_EXTI_IRQn EXTI15_10_IRQn
161 /**
162 * @brief Joystick Sel push-button
163 */
164 #define SEL_BUTTON_PIN GPIO_Pin_7
165 #define SEL_BUTTON_GPIO_PORT GPIOG
166 #define SEL_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOG
167 #define SEL_BUTTON_EXTI_LINE EXTI_Line7
168 #define SEL_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOG
169 #define SEL_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource7
170 #define SEL_BUTTON_EXTI_IRQn EXTI9_5_IRQn
171 /**
172 * @}
173 */
174
175 /** @addtogroup STM32100E_EVAL_LOW_LEVEL_COM
176 * @{
177 */
178 #define COMn 2
179
180 /**
181 * @brief Definition for COM port1, connected to USART1
182 */
183 #define EVAL_COM1 USART1
184 #define EVAL_COM1_CLK RCC_APB2Periph_USART1
185 #define EVAL_COM1_TX_PIN GPIO_Pin_9
186 #define EVAL_COM1_TX_GPIO_PORT GPIOA
187 #define EVAL_COM1_TX_GPIO_CLK RCC_APB2Periph_GPIOA
188 #define EVAL_COM1_RX_PIN GPIO_Pin_10
189 #define EVAL_COM1_RX_GPIO_PORT GPIOA
190 #define EVAL_COM1_RX_GPIO_CLK RCC_APB2Periph_GPIOA
191 #define EVAL_COM1_IRQn USART1_IRQn
192
193 /**
194 * @brief Definition for COM port2, connected to USART2
195 */
196 #define EVAL_COM2 USART2
197 #define EVAL_COM2_CLK RCC_APB1Periph_USART2
198 #define EVAL_COM2_TX_PIN GPIO_Pin_2
199 #define EVAL_COM2_TX_GPIO_PORT GPIOA
200 #define EVAL_COM2_TX_GPIO_CLK RCC_APB2Periph_GPIOA
201 #define EVAL_COM2_RX_PIN GPIO_Pin_3
202 #define EVAL_COM2_RX_GPIO_PORT GPIOA
203 #define EVAL_COM2_RX_GPIO_CLK RCC_APB2Periph_GPIOA
204 #define EVAL_COM2_IRQn USART2_IRQn
205
206 /**
207 * @}
208 */
209
210 /** @addtogroup STM32100E_EVAL_LOW_LEVEL_SD_FLASH
211 * @{
212 */
213 /**
214 * @brief SD SPI Interface pins
215 */
216 #define SD_SPI SPI2
217 #define SD_SPI_CLK RCC_APB1Periph_SPI2
218 #define SD_SPI_SCK_PIN GPIO_Pin_13 /* PC.13 */
219 #define SD_SPI_SCK_GPIO_PORT GPIOB /* GPIOB */
220 #define SD_SPI_SCK_GPIO_CLK RCC_APB2Periph_GPIOB
221 #define SD_SPI_MISO_PIN GPIO_Pin_14 /* PC.14 */
222 #define SD_SPI_MISO_GPIO_PORT GPIOB /* GPIOB */
223 #define SD_SPI_MISO_GPIO_CLK RCC_APB2Periph_GPIOB
224 #define SD_SPI_MOSI_PIN GPIO_Pin_15 /* PB.15 */
225 #define SD_SPI_MOSI_GPIO_PORT GPIOB /* GPIOB */
226 #define SD_SPI_MOSI_GPIO_CLK RCC_APB2Periph_GPIOB
227 #define SD_CS_PIN GPIO_Pin_6 /* PG.06 */
228 #define SD_CS_GPIO_PORT GPIOG /* GPIOG */
229 #define SD_CS_GPIO_CLK RCC_APB2Periph_GPIOG
230 #define SD_DETECT_PIN GPIO_Pin_11 /* PF.11 */
231 #define SD_DETECT_GPIO_PORT GPIOF /* GPIOF */
232 #define SD_DETECT_GPIO_CLK RCC_APB2Periph_GPIOF
233
234 /**
235 * @}
236 */
237
238 /** @addtogroup STM3210C_EVAL_LOW_LEVEL_I2C_EE
239 * @{
240 */
241 /**
242 * @brief I2C EEPROM Interface pins
243 */
244 #define sEE_I2C I2C2
245 #define sEE_I2C_CLK RCC_APB1Periph_I2C2
246 #define sEE_I2C_SCL_PIN GPIO_Pin_10 /* PB.10 */
247 #define sEE_I2C_SCL_GPIO_PORT GPIOB /* GPIOB */
248 #define sEE_I2C_SCL_GPIO_CLK RCC_APB2Periph_GPIOB
249 #define sEE_I2C_SDA_PIN GPIO_Pin_11 /* PB.11 */
250 #define sEE_I2C_SDA_GPIO_PORT GPIOB /* GPIOB */
251 #define sEE_I2C_SDA_GPIO_CLK RCC_APB2Periph_GPIOB
252 #define sEE_M24C64_32
253
254 #define sEE_I2C_DMA DMA1
255 #define sEE_I2C_DMA_CHANNEL_TX DMA1_Channel4
256 #define sEE_I2C_DMA_CHANNEL_RX DMA1_Channel5
257 #define sEE_I2C_DMA_FLAG_TX_TC DMA1_IT_TC4
258 #define sEE_I2C_DMA_FLAG_TX_GL DMA1_IT_GL4
259 #define sEE_I2C_DMA_FLAG_RX_TC DMA1_IT_TC5
260 #define sEE_I2C_DMA_FLAG_RX_GL DMA1_IT_GL5
261 #define sEE_I2C_DMA_CLK RCC_AHBPeriph_DMA1
262 #define sEE_I2C_DR_Address ((uint32_t)0x40005810)
263 #define sEE_USE_DMA
264
265 #define sEE_I2C_DMA_TX_IRQn DMA1_Channel4_IRQn
266 #define sEE_I2C_DMA_RX_IRQn DMA1_Channel5_IRQn
267 #define sEE_I2C_DMA_TX_IRQHandler DMA1_Channel4_IRQHandler
268 #define sEE_I2C_DMA_RX_IRQHandler DMA1_Channel5_IRQHandler
269 #define sEE_I2C_DMA_PREPRIO 0
270 #define sEE_I2C_DMA_SUBPRIO 0
271
272 #define sEE_DIRECTION_TX 0
273 #define sEE_DIRECTION_RX 1
274
275 /* Time constant for the delay caclulation allowing to have a millisecond
276 incrementing counter. This value should be equal to (System Clock / 1000).
277 ie. if system clock = 24MHz then sEE_TIME_CONST should be 24. */
278 #define sEE_TIME_CONST 24
279
280 /**
281 * @}
282 */
283
284 /** @addtogroup STM32100E_EVAL_LOW_LEVEL_M25P_FLASH_SPI
285 * @{
286 */
287 /**
288 * @brief M25P FLASH SPI Interface pins
289 */
290 #define sFLASH_SPI SPI1
291 #define sFLASH_SPI_CLK RCC_APB2Periph_SPI1
292 #define sFLASH_SPI_SCK_PIN GPIO_Pin_5 /* PA.05 */
293 #define sFLASH_SPI_SCK_GPIO_PORT GPIOA /* GPIOA */
294 #define sFLASH_SPI_SCK_GPIO_CLK RCC_APB2Periph_GPIOA
295 #define sFLASH_SPI_MISO_PIN GPIO_Pin_6 /* PA.06 */
296 #define sFLASH_SPI_MISO_GPIO_PORT GPIOA /* GPIOA */
297 #define sFLASH_SPI_MISO_GPIO_CLK RCC_APB2Periph_GPIOA
298 #define sFLASH_SPI_MOSI_PIN GPIO_Pin_7 /* PA.07 */
299 #define sFLASH_SPI_MOSI_GPIO_PORT GPIOA /* GPIOA */
300 #define sFLASH_SPI_MOSI_GPIO_CLK RCC_APB2Periph_GPIOA
301 #define sFLASH_CS_PIN GPIO_Pin_6 /* PE.06 */
302 #define sFLASH_CS_GPIO_PORT GPIOE /* GPIOE */
303 #define sFLASH_CS_GPIO_CLK RCC_APB2Periph_GPIOE
304
305 /**
306 * @}
307 */
308
309
310 /** @addtogroup STM32100E_EVAL_LOW_LEVEL_TSENSOR_I2C
311 * @{
312 */
313 /**
314 * @brief LM75 Temperature Sensor I2C Interface pins
315 */
316 #define LM75_I2C I2C2
317 #define LM75_I2C_CLK RCC_APB1Periph_I2C2
318 #define LM75_I2C_SCL_PIN GPIO_Pin_10 /* PB.10 */
319 #define LM75_I2C_SCL_GPIO_PORT GPIOB /* GPIOB */
320 #define LM75_I2C_SCL_GPIO_CLK RCC_APB2Periph_GPIOB
321 #define LM75_I2C_SDA_PIN GPIO_Pin_11 /* PB.11 */
322 #define LM75_I2C_SDA_GPIO_PORT GPIOB /* GPIOB */
323 #define LM75_I2C_SDA_GPIO_CLK RCC_APB2Periph_GPIOB
324 #define LM75_I2C_SMBUSALERT_PIN GPIO_Pin_12 /* PB.12 */
325 #define LM75_I2C_SMBUSALERT_GPIO_PORT GPIOB /* GPIOB */
326 #define LM75_I2C_SMBUSALERT_GPIO_CLK RCC_APB2Periph_GPIOB
327 #define LM75_I2C_DR ((uint32_t)0x40005810)
328
329 #define LM75_DMA_CLK RCC_AHBPeriph_DMA1
330 #define LM75_DMA_TX_CHANNEL DMA1_Channel4
331 #define LM75_DMA_RX_CHANNEL DMA1_Channel5
332 #define LM75_DMA_TX_TCFLAG DMA1_FLAG_TC4
333 #define LM75_DMA_RX_TCFLAG DMA1_FLAG_TC5
334
335 /**
336 * @}
337 */
338
339 /**
340 * @}
341 */
342
343 /** @defgroup STM32100E_EVAL_LOW_LEVEL_Exported_Macros
344 * @{
345 */
346 /**
347 * @}
348 */
349
350 /** @defgroup STM32100E_EVAL_LOW_LEVEL_Exported_Functions
351 * @{
352 */
353 void STM_EVAL_LEDInit(Led_TypeDef Led);
354 void STM_EVAL_LEDOn(Led_TypeDef Led);
355 void STM_EVAL_LEDOff(Led_TypeDef Led);
356 void STM_EVAL_LEDToggle(Led_TypeDef Led);
357 void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode);
358 uint32_t STM_EVAL_PBGetState(Button_TypeDef Button);
359 void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct);
360 void SD_LowLevel_DeInit(void);
361 void SD_LowLevel_Init(void);
362 void sEE_LowLevel_DeInit(void);
363 void sEE_LowLevel_Init(void);
364 void sEE_LowLevel_DMAConfig(uint32_t pBuffer, uint32_t BufferSize, uint32_t Direction);
365 void sFLASH_LowLevel_DeInit(void);
366 void sFLASH_LowLevel_Init(void);
367 void LM75_LowLevel_DeInit(void);
368 void LM75_LowLevel_Init(void);
369 /**
370 * @}
371 */
372 #ifdef __cplusplus
373 }
374 #endif
375
376 #endif /* __STM32100E_EVAL_H */
377 /**
378 * @}
379 */
380
381 /**
382 * @}
383 */
384
385 /**
386 * @}
387 */
388
389 /**
390 * @}
391 */
392
393 /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/