comparison libs/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_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 stm3210e_eval.h
4 * @author MCD Application Team
5 * @version V4.5.0
6 * @date 07-March-2011
7 * @brief This file contains definitions for STM3210E_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 __STM3210E_EVAL_H
26 #define __STM3210E_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 STM3210E_EVAL
44 * @{
45 */
46
47 /** @addtogroup STM3210E_EVAL_LOW_LEVEL
48 * @{
49 */
50
51 /** @defgroup STM3210E_EVAL_LOW_LEVEL_Exported_Types
52 * @{
53 */
54 /**
55 * @}
56 */
57
58 /** @defgroup STM3210E_EVAL_LOW_LEVEL_Exported_Constants
59 * @{
60 */
61 /** @addtogroup STM3210E_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 STM3210E_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_3
155 #define DOWN_BUTTON_GPIO_PORT GPIOD
156 #define DOWN_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOD
157 #define DOWN_BUTTON_EXTI_LINE EXTI_Line3
158 #define DOWN_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOD
159 #define DOWN_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource3
160 #define DOWN_BUTTON_EXTI_IRQn EXTI3_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 STM3210E_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 STM3210E_EVAL_LOW_LEVEL_SD_FLASH
211 * @{
212 */
213 /**
214 * @brief SD FLASH SDIO Interface
215 */
216
217 #define SD_DETECT_PIN GPIO_Pin_11 /* PF.11 */
218 #define SD_DETECT_GPIO_PORT GPIOF /* GPIOF */
219 #define SD_DETECT_GPIO_CLK RCC_APB2Periph_GPIOF
220
221 #define SDIO_FIFO_ADDRESS ((uint32_t)0x40018080)
222 /**
223 * @brief SDIO Intialization Frequency (400KHz max)
224 */
225 #define SDIO_INIT_CLK_DIV ((uint8_t)0xB2)
226 /**
227 * @brief SDIO Data Transfer Frequency (25MHz max)
228 */
229 #define SDIO_TRANSFER_CLK_DIV ((uint8_t)0x00)
230
231 /**
232 * @}
233 */
234
235 /** @addtogroup STM3210E_EVAL_LOW_LEVEL_M25P_FLASH_SPI
236 * @{
237 */
238 /**
239 * @brief M25P FLASH SPI Interface pins
240 */
241 #define sFLASH_SPI SPI1
242 #define sFLASH_SPI_CLK RCC_APB2Periph_SPI1
243 #define sFLASH_SPI_SCK_PIN GPIO_Pin_5 /* PA.05 */
244 #define sFLASH_SPI_SCK_GPIO_PORT GPIOA /* GPIOA */
245 #define sFLASH_SPI_SCK_GPIO_CLK RCC_APB2Periph_GPIOA
246 #define sFLASH_SPI_MISO_PIN GPIO_Pin_6 /* PA.06 */
247 #define sFLASH_SPI_MISO_GPIO_PORT GPIOA /* GPIOA */
248 #define sFLASH_SPI_MISO_GPIO_CLK RCC_APB2Periph_GPIOA
249 #define sFLASH_SPI_MOSI_PIN GPIO_Pin_7 /* PA.07 */
250 #define sFLASH_SPI_MOSI_GPIO_PORT GPIOA /* GPIOA */
251 #define sFLASH_SPI_MOSI_GPIO_CLK RCC_APB2Periph_GPIOA
252 #define sFLASH_CS_PIN GPIO_Pin_2 /* PB.02 */
253 #define sFLASH_CS_GPIO_PORT GPIOB /* GPIOB */
254 #define sFLASH_CS_GPIO_CLK RCC_APB2Periph_GPIOB
255
256 /**
257 * @}
258 */
259
260 /** @addtogroup STM3210E_EVAL_LOW_LEVEL_TSENSOR_I2C
261 * @{
262 */
263 /**
264 * @brief LM75 Temperature Sensor I2C Interface pins
265 */
266 #define LM75_I2C I2C1
267 #define LM75_I2C_CLK RCC_APB1Periph_I2C1
268 #define LM75_I2C_SCL_PIN GPIO_Pin_6 /* PB.06 */
269 #define LM75_I2C_SCL_GPIO_PORT GPIOB /* GPIOB */
270 #define LM75_I2C_SCL_GPIO_CLK RCC_APB2Periph_GPIOB
271 #define LM75_I2C_SDA_PIN GPIO_Pin_7 /* PB.07 */
272 #define LM75_I2C_SDA_GPIO_PORT GPIOB /* GPIOB */
273 #define LM75_I2C_SDA_GPIO_CLK RCC_APB2Periph_GPIOB
274 #define LM75_I2C_SMBUSALERT_PIN GPIO_Pin_5 /* PB.05 */
275 #define LM75_I2C_SMBUSALERT_GPIO_PORT GPIOB /* GPIOB */
276 #define LM75_I2C_SMBUSALERT_GPIO_CLK RCC_APB2Periph_GPIOB
277 #define LM75_I2C_DR ((uint32_t)0x40005410)
278
279 #define LM75_DMA_CLK RCC_AHBPeriph_DMA1
280 #define LM75_DMA_TX_CHANNEL DMA1_Channel6
281 #define LM75_DMA_RX_CHANNEL DMA1_Channel7
282 #define LM75_DMA_TX_TCFLAG DMA1_FLAG_TC6
283 #define LM75_DMA_RX_TCFLAG DMA1_FLAG_TC7
284 /**
285 * @}
286 */
287
288 /**
289 * @}
290 */
291
292 /** @defgroup STM3210E_EVAL_LOW_LEVEL_Exported_Macros
293 * @{
294 */
295 /**
296 * @}
297 */
298
299 /** @defgroup STM3210E_EVAL_LOW_LEVEL_Exported_Functions
300 * @{
301 */
302 void STM_EVAL_LEDInit(Led_TypeDef Led);
303 void STM_EVAL_LEDOn(Led_TypeDef Led);
304 void STM_EVAL_LEDOff(Led_TypeDef Led);
305 void STM_EVAL_LEDToggle(Led_TypeDef Led);
306 void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode);
307 uint32_t STM_EVAL_PBGetState(Button_TypeDef Button);
308 void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct);
309 void SD_LowLevel_DeInit(void);
310 void SD_LowLevel_Init(void);
311 void SD_LowLevel_DMA_TxConfig(uint32_t *BufferSRC, uint32_t BufferSize);
312 void SD_LowLevel_DMA_RxConfig(uint32_t *BufferDST, uint32_t BufferSize);
313 uint32_t SD_DMAEndOfTransferStatus(void);
314 void sFLASH_LowLevel_DeInit(void);
315 void sFLASH_LowLevel_Init(void);
316 void LM75_LowLevel_DeInit(void);
317 void LM75_LowLevel_Init(void);
318 /**
319 * @}
320 */
321 #ifdef __cplusplus
322 }
323 #endif
324
325 #endif /* __STM3210E_EVAL_H */
326 /**
327 * @}
328 */
329
330 /**
331 * @}
332 */
333
334 /**
335 * @}
336 */
337
338 /**
339 * @}
340 */
341
342 /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/