hk32f103x_eval.h 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313
  1. /**
  2. ******************************************************************************
  3. * @file hk32f103x_eval.h
  4. * @author MCD Application Team
  5. * @version V4.5.0
  6. * @date 07-March-2011
  7. * @brief This file contains definitions for STM3210B_EVAL's Leds, push-buttons
  8. * COM ports, SD Card (on SPI), sFLASH (on SPI) and Temperature sensor
  9. * LM75 (on I2C) 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. /* Define to prevent recursive inclusion -------------------------------------*/
  24. #ifndef __HK32F103X_EVAL_H
  25. #define __HK32F103X_EVAL_H
  26. #ifdef __cplusplus
  27. extern "C" {
  28. #endif
  29. /* Includes ------------------------------------------------------------------*/
  30. #include "stm32f10x_spi.h"
  31. #include "stm32f10x_i2c.h"
  32. /** @addtogroup Utilities
  33. * @{
  34. */
  35. /** @addtogroup STM32_EVAL
  36. * @{
  37. */
  38. /** @defgroup STM32_EVAL_Exported_Types
  39. * @{
  40. */
  41. typedef enum
  42. {
  43. LED0 = 0,
  44. LED1 = 1,
  45. } Led_TypeDef;
  46. typedef enum
  47. {
  48. BUTTON_WAKEUP = 0,
  49. BUTTON_KEY0 = 1,
  50. BUTTON_KEY1 = 2,
  51. } Button_TypeDef;
  52. typedef enum
  53. {
  54. BUTTON_MODE_GPIO = 0,
  55. BUTTON_MODE_EXTI = 1
  56. } ButtonMode_TypeDef;
  57. typedef enum
  58. {
  59. COM1 = 0,
  60. COM2 = 1
  61. } COM_TypeDef;
  62. /** @addtogroup STM3210B_EVAL_LOW_LEVEL
  63. * @{
  64. */
  65. /** @defgroup STM3210B_EVAL_LOW_LEVEL_Exported_Types
  66. * @{
  67. */
  68. /**
  69. * @}
  70. */
  71. /** @defgroup STM3210B_EVAL_LOW_LEVEL_Exported_Constants
  72. * @{
  73. */
  74. /** @addtogroup STM3210B_EVAL_LOW_LEVEL_LED
  75. * @{
  76. */
  77. #define LEDn 2
  78. #define LED0_PIN GPIO_Pin_12
  79. #define LED0_GPIO_PORT GPIOC
  80. #define LED0_GPIO_CLK RCC_APB2Periph_GPIOC
  81. #define LED1_PIN GPIO_Pin_2
  82. #define LED1_GPIO_PORT GPIOD
  83. #define LED1_GPIO_CLK RCC_APB2Periph_GPIOD
  84. /**
  85. * @}
  86. */
  87. /** @addtogroup STM3210B_EVAL_LOW_LEVEL_BUTTON
  88. * @{
  89. */
  90. #define BUTTONn 3
  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 Key0 push-button
  103. */
  104. #define KEY0_BUTTON_PIN GPIO_Pin_5
  105. #define KEY0_BUTTON_GPIO_PORT GPIOC
  106. #define KEY0_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOC
  107. #define KEY0_BUTTON_EXTI_LINE EXTI_Line5
  108. #define KEY0_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOC
  109. #define KEY0_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource5
  110. #define KEY0_BUTTON_EXTI_IRQn EXTI9_5_IRQn
  111. /**
  112. * @brief Key1 push-button
  113. */
  114. #define KEY1_BUTTON_PIN GPIO_Pin_15
  115. #define KEY1_BUTTON_GPIO_PORT GPIOA
  116. #define KEY1_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOA
  117. #define KEY1_BUTTON_EXTI_LINE EXTI_Line15
  118. #define KEY1_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOA
  119. #define KEY1_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource15
  120. #define KEY1_BUTTON_EXTI_IRQn EXTI15_10_IRQn
  121. /**
  122. * @}
  123. */
  124. /** @addtogroup STM3210B_EVAL_LOW_LEVEL_COM
  125. * @{
  126. */
  127. #define COMn 2
  128. /**
  129. * @brief Definition for COM port1, connected to USART1
  130. */
  131. #define EVAL_COM1 USART1
  132. #define EVAL_COM1_CLK RCC_APB2Periph_USART1
  133. #define EVAL_COM1_TX_PIN GPIO_Pin_9
  134. #define EVAL_COM1_TX_GPIO_PORT GPIOA
  135. #define EVAL_COM1_TX_GPIO_CLK RCC_APB2Periph_GPIOA
  136. #define EVAL_COM1_RX_PIN GPIO_Pin_10
  137. #define EVAL_COM1_RX_GPIO_PORT GPIOA
  138. #define EVAL_COM1_RX_GPIO_CLK RCC_APB2Periph_GPIOA
  139. #define EVAL_COM1_IRQn USART1_IRQn
  140. /**
  141. * @brief Definition for COM port2, connected to USART2 (USART2 pins remapped on GPIOD)
  142. */
  143. #define EVAL_COM2 USART2
  144. #define EVAL_COM2_CLK RCC_APB1Periph_USART2
  145. #define EVAL_COM2_TX_PIN GPIO_Pin_5
  146. #define EVAL_COM2_TX_GPIO_PORT GPIOD
  147. #define EVAL_COM2_TX_GPIO_CLK RCC_APB2Periph_GPIOD
  148. #define EVAL_COM2_RX_PIN GPIO_Pin_6
  149. #define EVAL_COM2_RX_GPIO_PORT GPIOD
  150. #define EVAL_COM2_RX_GPIO_CLK RCC_APB2Periph_GPIOD
  151. #define EVAL_COM2_IRQn USART2_IRQn
  152. /**
  153. * @}
  154. */
  155. /** @addtogroup STM3210B_EVAL_LOW_LEVEL_SD_SPI
  156. * @{
  157. */
  158. /**
  159. * @brief SD SPI Interface pins
  160. */
  161. #define SD_SPI SPI1
  162. #define SD_SPI_CLK RCC_APB2Periph_SPI1
  163. #define SD_SPI_SCK_PIN GPIO_Pin_5 /* PA.05 */
  164. #define SD_SPI_SCK_GPIO_PORT GPIOA /* GPIOA */
  165. #define SD_SPI_SCK_GPIO_CLK RCC_APB2Periph_GPIOA
  166. #define SD_SPI_MISO_PIN GPIO_Pin_6 /* PA.06 */
  167. #define SD_SPI_MISO_GPIO_PORT GPIOA /* GPIOA */
  168. #define SD_SPI_MISO_GPIO_CLK RCC_APB2Periph_GPIOA
  169. #define SD_SPI_MOSI_PIN GPIO_Pin_7 /* PA.07 */
  170. #define SD_SPI_MOSI_GPIO_PORT GPIOA /* GPIOA */
  171. #define SD_SPI_MOSI_GPIO_CLK RCC_APB2Periph_GPIOA
  172. #define SD_CS_PIN GPIO_Pin_12 /* PC.12 */
  173. #define SD_CS_GPIO_PORT GPIOC /* GPIOC */
  174. #define SD_CS_GPIO_CLK RCC_APB2Periph_GPIOC
  175. #define SD_DETECT_PIN GPIO_Pin_7 /* PE.07 */
  176. #define SD_DETECT_GPIO_PORT GPIOE /* GPIOE */
  177. #define SD_DETECT_GPIO_CLK RCC_APB2Periph_GPIOE
  178. /**
  179. * @}
  180. */
  181. /** @addtogroup STM3210B_EVAL_LOW_LEVEL_M25P_FLASH_SPI
  182. * @{
  183. */
  184. /**
  185. * @brief M25P FLASH SPI Interface pins
  186. */
  187. #define sFLASH_SPI SPI1
  188. #define sFLASH_SPI_CLK RCC_APB2Periph_SPI1
  189. #define sFLASH_SPI_SCK_PIN GPIO_Pin_5 /* PA.05 */
  190. #define sFLASH_SPI_SCK_GPIO_PORT GPIOA /* GPIOA */
  191. #define sFLASH_SPI_SCK_GPIO_CLK RCC_APB2Periph_GPIOA
  192. #define sFLASH_SPI_MISO_PIN GPIO_Pin_6 /* PA.06 */
  193. #define sFLASH_SPI_MISO_GPIO_PORT GPIOA /* GPIOA */
  194. #define sFLASH_SPI_MISO_GPIO_CLK RCC_APB2Periph_GPIOA
  195. #define sFLASH_SPI_MOSI_PIN GPIO_Pin_7 /* PA.07 */
  196. #define sFLASH_SPI_MOSI_GPIO_PORT GPIOA /* GPIOA */
  197. #define sFLASH_SPI_MOSI_GPIO_CLK RCC_APB2Periph_GPIOA
  198. #define sFLASH_CS_PIN GPIO_Pin_4 /* PA.04 */
  199. #define sFLASH_CS_GPIO_PORT GPIOA /* GPIOA */
  200. #define sFLASH_CS_GPIO_CLK RCC_APB2Periph_GPIOA
  201. /**
  202. * @}
  203. */
  204. /** @addtogroup STM3210B_EVAL_LOW_LEVEL_TSENSOR_I2C
  205. * @{
  206. */
  207. /**
  208. * @brief LM75 Temperature Sensor I2C Interface pins
  209. */
  210. #define LM75_I2C I2C1
  211. #define LM75_I2C_CLK RCC_APB1Periph_I2C1
  212. #define LM75_I2C_SCL_PIN GPIO_Pin_6 /* PB.06 */
  213. #define LM75_I2C_SCL_GPIO_PORT GPIOB /* GPIOB */
  214. #define LM75_I2C_SCL_GPIO_CLK RCC_APB2Periph_GPIOB
  215. #define LM75_I2C_SDA_PIN GPIO_Pin_7 /* PB.07 */
  216. #define LM75_I2C_SDA_GPIO_PORT GPIOB /* GPIOB */
  217. #define LM75_I2C_SDA_GPIO_CLK RCC_APB2Periph_GPIOB
  218. #define LM75_I2C_SMBUSALERT_PIN GPIO_Pin_5 /* PB.05 */
  219. #define LM75_I2C_SMBUSALERT_GPIO_PORT GPIOB /* GPIOB */
  220. #define LM75_I2C_SMBUSALERT_GPIO_CLK RCC_APB2Periph_GPIOB
  221. #define LM75_I2C_DR ((uint32_t)0x40005410)
  222. #define LM75_DMA_CLK RCC_AHBPeriph_DMA1
  223. #define LM75_DMA_TX_CHANNEL DMA1_Channel6
  224. #define LM75_DMA_RX_CHANNEL DMA1_Channel7
  225. #define LM75_DMA_TX_TCFLAG DMA1_FLAG_TC6
  226. #define LM75_DMA_RX_TCFLAG DMA1_FLAG_TC7
  227. /**
  228. * @}
  229. */
  230. /**
  231. * @}
  232. */
  233. /** @defgroup STM3210B_EVAL_LOW_LEVEL_Exported_Macros
  234. * @{
  235. */
  236. /**
  237. * @}
  238. */
  239. /** @defgroup STM3210B_EVAL_LOW_LEVEL_Exported_Functions
  240. * @{
  241. */
  242. void STM_EVAL_LEDInit(Led_TypeDef Led);
  243. void STM_EVAL_LEDOn(Led_TypeDef Led);
  244. void STM_EVAL_LEDOff(Led_TypeDef Led);
  245. void STM_EVAL_LEDToggle(Led_TypeDef Led);
  246. void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode);
  247. uint32_t STM_EVAL_PBGetState(Button_TypeDef Button);
  248. void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct);
  249. void SD_LowLevel_DeInit(void);
  250. void SD_LowLevel_Init(void);
  251. void sFLASH_LowLevel_DeInit(void);
  252. void sFLASH_LowLevel_Init(void);
  253. void LM75_LowLevel_DeInit(void);
  254. void LM75_LowLevel_Init(void);
  255. /**
  256. * @}
  257. */
  258. #ifdef __cplusplus
  259. }
  260. #endif
  261. #endif /* __STM3210B_EVAL_H */
  262. /**
  263. * @}
  264. */
  265. /**
  266. * @}
  267. */
  268. /**
  269. * @}
  270. */
  271. /**
  272. * @}
  273. */
  274. /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/