Mercurial > ~darius > hgwebdir.cgi > stm32temp
comparison libs/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_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 stm3210c_eval.h | |
4 * @author MCD Application Team | |
5 * @version V4.5.0 | |
6 * @date 07-March-2011 | |
7 * @brief This file contains definitions for STM3210C_EVAL's Leds, push-buttons | |
8 * COM ports, SD Card on SPI and sEE on I2C hardware resources. | |
9 ****************************************************************************** | |
10 * @attention | |
11 * | |
12 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS | |
13 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE | |
14 * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY | |
15 * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING | |
16 * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE | |
17 * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. | |
18 * | |
19 * <h2><center>© COPYRIGHT 210 STMicroelectronics</center></h2> | |
20 */ | |
21 | |
22 /* Define to prevent recursive inclusion -------------------------------------*/ | |
23 #ifndef __STM3210C_EVAL_H | |
24 #define __STM3210C_EVAL_H | |
25 | |
26 #ifdef __cplusplus | |
27 extern "C" { | |
28 #endif | |
29 | |
30 /* Includes ------------------------------------------------------------------*/ | |
31 #include "stm32_eval.h" | |
32 | |
33 /** @addtogroup Utilities | |
34 * @{ | |
35 */ | |
36 | |
37 /** @addtogroup STM32_EVAL | |
38 * @{ | |
39 */ | |
40 | |
41 /** @addtogroup STM3210C_EVAL | |
42 * @{ | |
43 */ | |
44 | |
45 /** @addtogroup STM3210C_EVAL_LOW_LEVEL | |
46 * @{ | |
47 */ | |
48 | |
49 /** @defgroup STM3210C_EVAL_LOW_LEVEL_Exported_Types | |
50 * @{ | |
51 */ | |
52 /** | |
53 * @} | |
54 */ | |
55 | |
56 /** @defgroup STM3210C_EVAL_LOW_LEVEL_Exported_Constants | |
57 * @{ | |
58 */ | |
59 | |
60 /** @addtogroup STM3210C_EVAL_LOW_LEVEL_LED | |
61 * @{ | |
62 */ | |
63 #define LEDn 4 | |
64 | |
65 #define LED1_PIN GPIO_Pin_7 | |
66 #define LED1_GPIO_PORT GPIOD | |
67 #define LED1_GPIO_CLK RCC_APB2Periph_GPIOD | |
68 | |
69 #define LED2_PIN GPIO_Pin_13 | |
70 #define LED2_GPIO_PORT GPIOD | |
71 #define LED2_GPIO_CLK RCC_APB2Periph_GPIOD | |
72 | |
73 #define LED3_PIN GPIO_Pin_3 | |
74 #define LED3_GPIO_PORT GPIOD | |
75 #define LED3_GPIO_CLK RCC_APB2Periph_GPIOD | |
76 | |
77 #define LED4_PIN GPIO_Pin_4 | |
78 #define LED4_GPIO_PORT GPIOD | |
79 #define LED4_GPIO_CLK RCC_APB2Periph_GPIOD | |
80 | |
81 | |
82 /** | |
83 * @} | |
84 */ | |
85 | |
86 /** @addtogroup STM3210C_EVAL_LOW_LEVEL_BUTTON | |
87 * @{ | |
88 */ | |
89 #define BUTTONn 3 /*!< Joystick pins are connected to | |
90 an IO Expander (accessible through | |
91 I2C1 interface) */ | |
92 | |
93 /** | |
94 * @brief Wakeup push-button | |
95 */ | |
96 #define WAKEUP_BUTTON_PIN GPIO_Pin_0 | |
97 #define WAKEUP_BUTTON_GPIO_PORT GPIOA | |
98 #define WAKEUP_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOA | |
99 #define WAKEUP_BUTTON_EXTI_LINE EXTI_Line0 | |
100 #define WAKEUP_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOA | |
101 #define WAKEUP_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource0 | |
102 #define WAKEUP_BUTTON_EXTI_IRQn EXTI0_IRQn | |
103 | |
104 /** | |
105 * @brief Tamper push-button | |
106 */ | |
107 #define TAMPER_BUTTON_PIN GPIO_Pin_13 | |
108 #define TAMPER_BUTTON_GPIO_PORT GPIOC | |
109 #define TAMPER_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOC | |
110 #define TAMPER_BUTTON_EXTI_LINE EXTI_Line13 | |
111 #define TAMPER_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOC | |
112 #define TAMPER_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource13 | |
113 #define TAMPER_BUTTON_EXTI_IRQn EXTI15_10_IRQn | |
114 | |
115 /** | |
116 * @brief Key push-button | |
117 */ | |
118 #define KEY_BUTTON_PIN GPIO_Pin_9 | |
119 #define KEY_BUTTON_GPIO_PORT GPIOB | |
120 #define KEY_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOB | |
121 #define KEY_BUTTON_EXTI_LINE EXTI_Line9 | |
122 #define KEY_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOB | |
123 #define KEY_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource9 | |
124 #define KEY_BUTTON_EXTI_IRQn EXTI9_5_IRQn | |
125 /** | |
126 * @} | |
127 */ | |
128 | |
129 /** @addtogroup STM3210C_EVAL_LOW_LEVEL_COM | |
130 * @{ | |
131 */ | |
132 #define COMn 1 | |
133 | |
134 /** | |
135 * @brief Definition for COM port1, connected to USART2 (USART2 pins remapped on GPIOD) | |
136 */ | |
137 #define EVAL_COM1 USART2 | |
138 #define EVAL_COM1_CLK RCC_APB1Periph_USART2 | |
139 #define EVAL_COM1_TX_PIN GPIO_Pin_5 | |
140 #define EVAL_COM1_TX_GPIO_PORT GPIOD | |
141 #define EVAL_COM1_TX_GPIO_CLK RCC_APB2Periph_GPIOD | |
142 #define EVAL_COM1_RX_PIN GPIO_Pin_6 | |
143 #define EVAL_COM1_RX_GPIO_PORT GPIOD | |
144 #define EVAL_COM1_RX_GPIO_CLK RCC_APB2Periph_GPIOD | |
145 #define EVAL_COM1_IRQn USART2_IRQn | |
146 | |
147 /** | |
148 * @} | |
149 */ | |
150 | |
151 /** @addtogroup STM3210B_EVAL_SD_SPI | |
152 * @{ | |
153 */ | |
154 /** | |
155 * @brief SD SPI Interface pins | |
156 */ | |
157 #define SD_SPI SPI3 | |
158 #define SD_SPI_CLK RCC_APB1Periph_SPI3 | |
159 #define SD_SPI_SCK_PIN GPIO_Pin_10 /* PC.10 */ | |
160 #define SD_SPI_SCK_GPIO_PORT GPIOC /* GPIOC */ | |
161 #define SD_SPI_SCK_GPIO_CLK RCC_APB2Periph_GPIOC | |
162 #define SD_SPI_MISO_PIN GPIO_Pin_11 /* PC.11 */ | |
163 #define SD_SPI_MISO_GPIO_PORT GPIOC /* GPIOC */ | |
164 #define SD_SPI_MISO_GPIO_CLK RCC_APB2Periph_GPIOC | |
165 #define SD_SPI_MOSI_PIN GPIO_Pin_12 /* PC.12 */ | |
166 #define SD_SPI_MOSI_GPIO_PORT GPIOC /* GPIOC */ | |
167 #define SD_SPI_MOSI_GPIO_CLK RCC_APB2Periph_GPIOC | |
168 #define SD_CS_PIN GPIO_Pin_4 /* PA.04 */ | |
169 #define SD_CS_GPIO_PORT GPIOA /* GPIOA */ | |
170 #define SD_CS_GPIO_CLK RCC_APB2Periph_GPIOA | |
171 #define SD_DETECT_PIN GPIO_Pin_0 /* PE.00 */ | |
172 #define SD_DETECT_GPIO_PORT GPIOE /* GPIOE */ | |
173 #define SD_DETECT_GPIO_CLK RCC_APB2Periph_GPIOE | |
174 | |
175 /** | |
176 * @} | |
177 */ | |
178 | |
179 /** @addtogroup STM3210C_EVAL_LOW_LEVEL_I2C_EE | |
180 * @{ | |
181 */ | |
182 /** | |
183 * @brief I2C EEPROM Interface pins | |
184 */ | |
185 #define sEE_I2C I2C1 | |
186 #define sEE_I2C_CLK RCC_APB1Periph_I2C1 | |
187 #define sEE_I2C_SCL_PIN GPIO_Pin_6 /* PB.06 */ | |
188 #define sEE_I2C_SCL_GPIO_PORT GPIOB /* GPIOB */ | |
189 #define sEE_I2C_SCL_GPIO_CLK RCC_APB2Periph_GPIOB | |
190 #define sEE_I2C_SDA_PIN GPIO_Pin_7 /* PB.07 */ | |
191 #define sEE_I2C_SDA_GPIO_PORT GPIOB /* GPIOB */ | |
192 #define sEE_I2C_SDA_GPIO_CLK RCC_APB2Periph_GPIOB | |
193 #define sEE_M24C64_32 | |
194 | |
195 #define sEE_I2C_DMA DMA1 | |
196 #define sEE_I2C_DMA_CHANNEL_TX DMA1_Channel6 | |
197 #define sEE_I2C_DMA_CHANNEL_RX DMA1_Channel7 | |
198 #define sEE_I2C_DMA_FLAG_TX_TC DMA1_IT_TC6 | |
199 #define sEE_I2C_DMA_FLAG_TX_GL DMA1_IT_GL6 | |
200 #define sEE_I2C_DMA_FLAG_RX_TC DMA1_IT_TC7 | |
201 #define sEE_I2C_DMA_FLAG_RX_GL DMA1_IT_GL7 | |
202 #define sEE_I2C_DMA_CLK RCC_AHBPeriph_DMA1 | |
203 #define sEE_I2C_DR_Address ((uint32_t)0x40005410) | |
204 #define sEE_USE_DMA | |
205 | |
206 #define sEE_I2C_DMA_TX_IRQn DMA1_Channel6_IRQn | |
207 #define sEE_I2C_DMA_RX_IRQn DMA1_Channel7_IRQn | |
208 #define sEE_I2C_DMA_TX_IRQHandler DMA1_Channel6_IRQHandler | |
209 #define sEE_I2C_DMA_RX_IRQHandler DMA1_Channel7_IRQHandler | |
210 #define sEE_I2C_DMA_PREPRIO 0 | |
211 #define sEE_I2C_DMA_SUBPRIO 0 | |
212 | |
213 #define sEE_DIRECTION_TX 0 | |
214 #define sEE_DIRECTION_RX 1 | |
215 | |
216 /* Time constant for the delay caclulation allowing to have a millisecond | |
217 incrementing counter. This value should be equal to (System Clock / 1000). | |
218 ie. if system clock = 72MHz then sEE_TIME_CONST should be 72. */ | |
219 #define sEE_TIME_CONST 72 | |
220 | |
221 /** | |
222 * @} | |
223 */ | |
224 | |
225 /** | |
226 * @} | |
227 */ | |
228 | |
229 /** @defgroup STM3210C_EVAL_LOW_LEVEL_Exported_Macros | |
230 * @{ | |
231 */ | |
232 /** | |
233 * @} | |
234 */ | |
235 | |
236 | |
237 /** @defgroup STM3210C_EVAL_LOW_LEVEL_Exported_Functions | |
238 * @{ | |
239 */ | |
240 void STM_EVAL_LEDInit(Led_TypeDef Led); | |
241 void STM_EVAL_LEDOn(Led_TypeDef Led); | |
242 void STM_EVAL_LEDOff(Led_TypeDef Led); | |
243 void STM_EVAL_LEDToggle(Led_TypeDef Led); | |
244 void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode); | |
245 uint32_t STM_EVAL_PBGetState(Button_TypeDef Button); | |
246 void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct); | |
247 void SD_LowLevel_DeInit(void); | |
248 void SD_LowLevel_Init(void); | |
249 void sEE_LowLevel_DeInit(void); | |
250 void sEE_LowLevel_Init(void); | |
251 void sEE_LowLevel_DMAConfig(uint32_t pBuffer, uint32_t BufferSize, uint32_t Direction); | |
252 /** | |
253 * @} | |
254 */ | |
255 | |
256 #ifdef __cplusplus | |
257 } | |
258 #endif | |
259 | |
260 #endif /* __STM3210C_EVAL_H */ | |
261 /** | |
262 * @} | |
263 */ | |
264 | |
265 /** | |
266 * @} | |
267 */ | |
268 | |
269 /** | |
270 * @} | |
271 */ | |
272 | |
273 /** | |
274 * @} | |
275 */ | |
276 | |
277 /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ |