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>&copy; 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****/