stm32f1xx_hal_msp.c 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498
  1. /* USER CODE BEGIN Header */
  2. /**
  3. ******************************************************************************
  4. * File Name : stm32f1xx_hal_msp.c
  5. * Description : This file provides code for the MSP Initialization
  6. * and de-Initialization codes.
  7. ******************************************************************************
  8. * @attention
  9. *
  10. * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
  11. * All rights reserved.</center></h2>
  12. *
  13. * This software component is licensed by ST under BSD 3-Clause license,
  14. * the "License"; You may not use this file except in compliance with the
  15. * License. You may obtain a copy of the License at:
  16. * opensource.org/licenses/BSD-3-Clause
  17. *
  18. ******************************************************************************
  19. */
  20. /* USER CODE END Header */
  21. /* Includes ------------------------------------------------------------------*/
  22. /* USER CODE BEGIN Includes */
  23. #include <drv_common.h>
  24. /* USER CODE END Includes */
  25. /* Private typedef -----------------------------------------------------------*/
  26. /* USER CODE BEGIN TD */
  27. /* USER CODE END TD */
  28. /* Private define ------------------------------------------------------------*/
  29. /* USER CODE BEGIN Define */
  30. /* USER CODE END Define */
  31. /* Private macro -------------------------------------------------------------*/
  32. /* USER CODE BEGIN Macro */
  33. /* USER CODE END Macro */
  34. /* Private variables ---------------------------------------------------------*/
  35. /* USER CODE BEGIN PV */
  36. /* USER CODE END PV */
  37. /* Private function prototypes -----------------------------------------------*/
  38. /* USER CODE BEGIN PFP */
  39. /* USER CODE END PFP */
  40. /* External functions --------------------------------------------------------*/
  41. /* USER CODE BEGIN ExternalFunctions */
  42. /* USER CODE END ExternalFunctions */
  43. /* USER CODE BEGIN 0 */
  44. /* USER CODE END 0 */
  45. void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
  46. /**
  47. * Initializes the Global MSP.
  48. */
  49. void HAL_MspInit(void)
  50. {
  51. /* USER CODE BEGIN MspInit 0 */
  52. /* USER CODE END MspInit 0 */
  53. __HAL_RCC_AFIO_CLK_ENABLE();
  54. __HAL_RCC_PWR_CLK_ENABLE();
  55. /* System interrupt init*/
  56. /** NOJTAG: JTAG-DP Disabled and SW-DP Enabled
  57. */
  58. __HAL_AFIO_REMAP_SWJ_NOJTAG();
  59. /* USER CODE BEGIN MspInit 1 */
  60. /* USER CODE END MspInit 1 */
  61. }
  62. /**
  63. * @brief ADC MSP Initialization
  64. * This function configures the hardware resources used in this example
  65. * @param hadc: ADC handle pointer
  66. * @retval None
  67. */
  68. void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
  69. {
  70. GPIO_InitTypeDef GPIO_InitStruct = {0};
  71. if(hadc->Instance==ADC1)
  72. {
  73. /* USER CODE BEGIN ADC1_MspInit 0 */
  74. /* USER CODE END ADC1_MspInit 0 */
  75. /* Peripheral clock enable */
  76. __HAL_RCC_ADC1_CLK_ENABLE();
  77. __HAL_RCC_GPIOA_CLK_ENABLE();
  78. /**ADC1 GPIO Configuration
  79. PA4 ------> ADC1_IN4
  80. PA5 ------> ADC1_IN5
  81. */
  82. GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5;
  83. GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
  84. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  85. /* USER CODE BEGIN ADC1_MspInit 1 */
  86. /* USER CODE END ADC1_MspInit 1 */
  87. }
  88. }
  89. /**
  90. * @brief ADC MSP De-Initialization
  91. * This function freeze the hardware resources used in this example
  92. * @param hadc: ADC handle pointer
  93. * @retval None
  94. */
  95. void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
  96. {
  97. if(hadc->Instance==ADC1)
  98. {
  99. /* USER CODE BEGIN ADC1_MspDeInit 0 */
  100. /* USER CODE END ADC1_MspDeInit 0 */
  101. /* Peripheral clock disable */
  102. __HAL_RCC_ADC1_CLK_DISABLE();
  103. /**ADC1 GPIO Configuration
  104. PA4 ------> ADC1_IN4
  105. PA5 ------> ADC1_IN5
  106. */
  107. HAL_GPIO_DeInit(GPIOA, GPIO_PIN_4|GPIO_PIN_5);
  108. /* USER CODE BEGIN ADC1_MspDeInit 1 */
  109. /* USER CODE END ADC1_MspDeInit 1 */
  110. }
  111. }
  112. /**
  113. * @brief TIM_Encoder MSP Initialization
  114. * This function configures the hardware resources used in this example
  115. * @param htim_encoder: TIM_Encoder handle pointer
  116. * @retval None
  117. */
  118. void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* htim_encoder)
  119. {
  120. GPIO_InitTypeDef GPIO_InitStruct = {0};
  121. if(htim_encoder->Instance==TIM1)
  122. {
  123. /* USER CODE BEGIN TIM1_MspInit 0 */
  124. /* USER CODE END TIM1_MspInit 0 */
  125. /* Peripheral clock enable */
  126. __HAL_RCC_TIM1_CLK_ENABLE();
  127. __HAL_RCC_GPIOA_CLK_ENABLE();
  128. /**TIM1 GPIO Configuration
  129. PA8 ------> TIM1_CH1
  130. PA9 ------> TIM1_CH2
  131. */
  132. GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;
  133. GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  134. GPIO_InitStruct.Pull = GPIO_NOPULL;
  135. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  136. /* USER CODE BEGIN TIM1_MspInit 1 */
  137. /* USER CODE END TIM1_MspInit 1 */
  138. }
  139. }
  140. /**
  141. * @brief TIM_PWM MSP Initialization
  142. * This function configures the hardware resources used in this example
  143. * @param htim_pwm: TIM_PWM handle pointer
  144. * @retval None
  145. */
  146. void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm)
  147. {
  148. if(htim_pwm->Instance==TIM2)
  149. {
  150. /* USER CODE BEGIN TIM2_MspInit 0 */
  151. /* USER CODE END TIM2_MspInit 0 */
  152. /* Peripheral clock enable */
  153. __HAL_RCC_TIM2_CLK_ENABLE();
  154. /* USER CODE BEGIN TIM2_MspInit 1 */
  155. /* USER CODE END TIM2_MspInit 1 */
  156. }
  157. }
  158. /**
  159. * @brief TIM_Base MSP Initialization
  160. * This function configures the hardware resources used in this example
  161. * @param htim_base: TIM_Base handle pointer
  162. * @retval None
  163. */
  164. void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
  165. {
  166. if(htim_base->Instance==TIM3)
  167. {
  168. /* USER CODE BEGIN TIM3_MspInit 0 */
  169. /* USER CODE END TIM3_MspInit 0 */
  170. /* Peripheral clock enable */
  171. __HAL_RCC_TIM3_CLK_ENABLE();
  172. /* USER CODE BEGIN TIM3_MspInit 1 */
  173. /* USER CODE END TIM3_MspInit 1 */
  174. }
  175. else if(htim_base->Instance==TIM4)
  176. {
  177. /* USER CODE BEGIN TIM4_MspInit 0 */
  178. /* USER CODE END TIM4_MspInit 0 */
  179. /* Peripheral clock enable */
  180. __HAL_RCC_TIM4_CLK_ENABLE();
  181. /* USER CODE BEGIN TIM4_MspInit 1 */
  182. /* USER CODE END TIM4_MspInit 1 */
  183. }
  184. }
  185. void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
  186. {
  187. GPIO_InitTypeDef GPIO_InitStruct = {0};
  188. if(htim->Instance==TIM2)
  189. {
  190. /* USER CODE BEGIN TIM2_MspPostInit 0 */
  191. /* USER CODE END TIM2_MspPostInit 0 */
  192. __HAL_RCC_GPIOA_CLK_ENABLE();
  193. /**TIM2 GPIO Configuration
  194. PA0-WKUP ------> TIM2_CH1
  195. PA1 ------> TIM2_CH2
  196. */
  197. GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
  198. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  199. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  200. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  201. /* USER CODE BEGIN TIM2_MspPostInit 1 */
  202. /* USER CODE END TIM2_MspPostInit 1 */
  203. }
  204. else if(htim->Instance==TIM3)
  205. {
  206. /* USER CODE BEGIN TIM3_MspPostInit 0 */
  207. /* USER CODE END TIM3_MspPostInit 0 */
  208. __HAL_RCC_GPIOA_CLK_ENABLE();
  209. /**TIM3 GPIO Configuration
  210. PA6 ------> TIM3_CH1
  211. */
  212. GPIO_InitStruct.Pin = GPIO_PIN_6;
  213. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  214. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  215. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  216. /* USER CODE BEGIN TIM3_MspPostInit 1 */
  217. /* USER CODE END TIM3_MspPostInit 1 */
  218. }
  219. else if(htim->Instance==TIM4)
  220. {
  221. /* USER CODE BEGIN TIM4_MspPostInit 0 */
  222. /* USER CODE END TIM4_MspPostInit 0 */
  223. __HAL_RCC_GPIOB_CLK_ENABLE();
  224. /**TIM4 GPIO Configuration
  225. PB8 ------> TIM4_CH3
  226. PB9 ------> TIM4_CH4
  227. */
  228. GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;
  229. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  230. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  231. HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  232. /* USER CODE BEGIN TIM4_MspPostInit 1 */
  233. /* USER CODE END TIM4_MspPostInit 1 */
  234. }
  235. }
  236. /**
  237. * @brief TIM_Encoder MSP De-Initialization
  238. * This function freeze the hardware resources used in this example
  239. * @param htim_encoder: TIM_Encoder handle pointer
  240. * @retval None
  241. */
  242. void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef* htim_encoder)
  243. {
  244. if(htim_encoder->Instance==TIM1)
  245. {
  246. /* USER CODE BEGIN TIM1_MspDeInit 0 */
  247. /* USER CODE END TIM1_MspDeInit 0 */
  248. /* Peripheral clock disable */
  249. __HAL_RCC_TIM1_CLK_DISABLE();
  250. /**TIM1 GPIO Configuration
  251. PA8 ------> TIM1_CH1
  252. PA9 ------> TIM1_CH2
  253. */
  254. HAL_GPIO_DeInit(GPIOA, GPIO_PIN_8|GPIO_PIN_9);
  255. /* USER CODE BEGIN TIM1_MspDeInit 1 */
  256. /* USER CODE END TIM1_MspDeInit 1 */
  257. }
  258. }
  259. /**
  260. * @brief TIM_PWM MSP De-Initialization
  261. * This function freeze the hardware resources used in this example
  262. * @param htim_pwm: TIM_PWM handle pointer
  263. * @retval None
  264. */
  265. void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* htim_pwm)
  266. {
  267. if(htim_pwm->Instance==TIM2)
  268. {
  269. /* USER CODE BEGIN TIM2_MspDeInit 0 */
  270. /* USER CODE END TIM2_MspDeInit 0 */
  271. /* Peripheral clock disable */
  272. __HAL_RCC_TIM2_CLK_DISABLE();
  273. /* USER CODE BEGIN TIM2_MspDeInit 1 */
  274. /* USER CODE END TIM2_MspDeInit 1 */
  275. }
  276. }
  277. /**
  278. * @brief TIM_Base MSP De-Initialization
  279. * This function freeze the hardware resources used in this example
  280. * @param htim_base: TIM_Base handle pointer
  281. * @retval None
  282. */
  283. void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
  284. {
  285. if(htim_base->Instance==TIM3)
  286. {
  287. /* USER CODE BEGIN TIM3_MspDeInit 0 */
  288. /* USER CODE END TIM3_MspDeInit 0 */
  289. /* Peripheral clock disable */
  290. __HAL_RCC_TIM3_CLK_DISABLE();
  291. /* USER CODE BEGIN TIM3_MspDeInit 1 */
  292. /* USER CODE END TIM3_MspDeInit 1 */
  293. }
  294. else if(htim_base->Instance==TIM4)
  295. {
  296. /* USER CODE BEGIN TIM4_MspDeInit 0 */
  297. /* USER CODE END TIM4_MspDeInit 0 */
  298. /* Peripheral clock disable */
  299. __HAL_RCC_TIM4_CLK_DISABLE();
  300. /* USER CODE BEGIN TIM4_MspDeInit 1 */
  301. /* USER CODE END TIM4_MspDeInit 1 */
  302. }
  303. }
  304. /**
  305. * @brief UART MSP Initialization
  306. * This function configures the hardware resources used in this example
  307. * @param huart: UART handle pointer
  308. * @retval None
  309. */
  310. void HAL_UART_MspInit(UART_HandleTypeDef* huart)
  311. {
  312. GPIO_InitTypeDef GPIO_InitStruct = {0};
  313. if(huart->Instance==USART2)
  314. {
  315. /* USER CODE BEGIN USART2_MspInit 0 */
  316. /* USER CODE END USART2_MspInit 0 */
  317. /* Peripheral clock enable */
  318. __HAL_RCC_USART2_CLK_ENABLE();
  319. __HAL_RCC_GPIOA_CLK_ENABLE();
  320. /**USART2 GPIO Configuration
  321. PA2 ------> USART2_TX
  322. PA3 ------> USART2_RX
  323. */
  324. GPIO_InitStruct.Pin = GPIO_PIN_2;
  325. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  326. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  327. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  328. GPIO_InitStruct.Pin = GPIO_PIN_3;
  329. GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  330. GPIO_InitStruct.Pull = GPIO_PULLUP;
  331. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  332. /* USER CODE BEGIN USART2_MspInit 1 */
  333. /* USER CODE END USART2_MspInit 1 */
  334. }
  335. else if(huart->Instance==USART3)
  336. {
  337. /* USER CODE BEGIN USART3_MspInit 0 */
  338. /* USER CODE END USART3_MspInit 0 */
  339. /* Peripheral clock enable */
  340. __HAL_RCC_USART3_CLK_ENABLE();
  341. __HAL_RCC_GPIOB_CLK_ENABLE();
  342. /**USART3 GPIO Configuration
  343. PB10 ------> USART3_TX
  344. PB11 ------> USART3_RX
  345. */
  346. GPIO_InitStruct.Pin = GPIO_PIN_10;
  347. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  348. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  349. HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  350. GPIO_InitStruct.Pin = GPIO_PIN_11;
  351. GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  352. GPIO_InitStruct.Pull = GPIO_NOPULL;
  353. HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  354. /* USER CODE BEGIN USART3_MspInit 1 */
  355. /* USER CODE END USART3_MspInit 1 */
  356. }
  357. }
  358. /**
  359. * @brief UART MSP De-Initialization
  360. * This function freeze the hardware resources used in this example
  361. * @param huart: UART handle pointer
  362. * @retval None
  363. */
  364. void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
  365. {
  366. if(huart->Instance==USART2)
  367. {
  368. /* USER CODE BEGIN USART2_MspDeInit 0 */
  369. /* USER CODE END USART2_MspDeInit 0 */
  370. /* Peripheral clock disable */
  371. __HAL_RCC_USART2_CLK_DISABLE();
  372. /**USART2 GPIO Configuration
  373. PA2 ------> USART2_TX
  374. PA3 ------> USART2_RX
  375. */
  376. HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
  377. /* USER CODE BEGIN USART2_MspDeInit 1 */
  378. /* USER CODE END USART2_MspDeInit 1 */
  379. }
  380. else if(huart->Instance==USART3)
  381. {
  382. /* USER CODE BEGIN USART3_MspDeInit 0 */
  383. /* USER CODE END USART3_MspDeInit 0 */
  384. /* Peripheral clock disable */
  385. __HAL_RCC_USART3_CLK_DISABLE();
  386. /**USART3 GPIO Configuration
  387. PB10 ------> USART3_TX
  388. PB11 ------> USART3_RX
  389. */
  390. HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11);
  391. /* USER CODE BEGIN USART3_MspDeInit 1 */
  392. /* USER CODE END USART3_MspDeInit 1 */
  393. }
  394. }
  395. /* USER CODE BEGIN 1 */
  396. /* USER CODE END 1 */