stm32f1xx_hal_msp.c 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599
  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. #include "main.h"
  23. /* USER CODE BEGIN Includes */
  24. #include <drv_common.h>
  25. /* USER CODE END Includes */
  26. /* Private typedef -----------------------------------------------------------*/
  27. /* USER CODE BEGIN TD */
  28. /* USER CODE END TD */
  29. /* Private define ------------------------------------------------------------*/
  30. /* USER CODE BEGIN Define */
  31. /* USER CODE END Define */
  32. /* Private macro -------------------------------------------------------------*/
  33. /* USER CODE BEGIN Macro */
  34. /* USER CODE END Macro */
  35. /* Private variables ---------------------------------------------------------*/
  36. /* USER CODE BEGIN PV */
  37. /* USER CODE END PV */
  38. /* Private function prototypes -----------------------------------------------*/
  39. /* USER CODE BEGIN PFP */
  40. /* USER CODE END PFP */
  41. /* External functions --------------------------------------------------------*/
  42. /* USER CODE BEGIN ExternalFunctions */
  43. /* USER CODE END ExternalFunctions */
  44. /* USER CODE BEGIN 0 */
  45. /* USER CODE END 0 */
  46. void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
  47. /**
  48. * Initializes the Global MSP.
  49. */
  50. void HAL_MspInit(void)
  51. {
  52. /* USER CODE BEGIN MspInit 0 */
  53. /* USER CODE END MspInit 0 */
  54. __HAL_RCC_AFIO_CLK_ENABLE();
  55. __HAL_RCC_PWR_CLK_ENABLE();
  56. /* System interrupt init*/
  57. /** NOJTAG: JTAG-DP Disabled and SW-DP Enabled
  58. */
  59. __HAL_AFIO_REMAP_SWJ_NOJTAG();
  60. /* USER CODE BEGIN MspInit 1 */
  61. /* USER CODE END MspInit 1 */
  62. }
  63. /**
  64. * @brief ADC MSP Initialization
  65. * This function configures the hardware resources used in this example
  66. * @param hadc: ADC handle pointer
  67. * @retval None
  68. */
  69. void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
  70. {
  71. GPIO_InitTypeDef GPIO_InitStruct = {0};
  72. if(hadc->Instance==ADC1)
  73. {
  74. /* USER CODE BEGIN ADC1_MspInit 0 */
  75. /* USER CODE END ADC1_MspInit 0 */
  76. /* Peripheral clock enable */
  77. __HAL_RCC_ADC1_CLK_ENABLE();
  78. __HAL_RCC_GPIOA_CLK_ENABLE();
  79. /**ADC1 GPIO Configuration
  80. PA1 ------> ADC1_IN1
  81. PA4 ------> ADC1_IN4
  82. PA5 ------> ADC1_IN5
  83. PA6 ------> ADC1_IN6
  84. PA7 ------> ADC1_IN7
  85. */
  86. GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6
  87. |GPIO_PIN_7;
  88. GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
  89. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  90. /* USER CODE BEGIN ADC1_MspInit 1 */
  91. /* USER CODE END ADC1_MspInit 1 */
  92. }
  93. }
  94. /**
  95. * @brief ADC MSP De-Initialization
  96. * This function freeze the hardware resources used in this example
  97. * @param hadc: ADC handle pointer
  98. * @retval None
  99. */
  100. void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
  101. {
  102. if(hadc->Instance==ADC1)
  103. {
  104. /* USER CODE BEGIN ADC1_MspDeInit 0 */
  105. /* USER CODE END ADC1_MspDeInit 0 */
  106. /* Peripheral clock disable */
  107. __HAL_RCC_ADC1_CLK_DISABLE();
  108. /**ADC1 GPIO Configuration
  109. PA1 ------> ADC1_IN1
  110. PA4 ------> ADC1_IN4
  111. PA5 ------> ADC1_IN5
  112. PA6 ------> ADC1_IN6
  113. PA7 ------> ADC1_IN7
  114. */
  115. HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6
  116. |GPIO_PIN_7);
  117. /* USER CODE BEGIN ADC1_MspDeInit 1 */
  118. /* USER CODE END ADC1_MspDeInit 1 */
  119. }
  120. }
  121. /**
  122. * @brief RTC MSP Initialization
  123. * This function configures the hardware resources used in this example
  124. * @param hrtc: RTC handle pointer
  125. * @retval None
  126. */
  127. void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
  128. {
  129. if(hrtc->Instance==RTC)
  130. {
  131. /* USER CODE BEGIN RTC_MspInit 0 */
  132. /* USER CODE END RTC_MspInit 0 */
  133. HAL_PWR_EnableBkUpAccess();
  134. /* Enable BKP CLK enable for backup registers */
  135. __HAL_RCC_BKP_CLK_ENABLE();
  136. /* Peripheral clock enable */
  137. __HAL_RCC_RTC_ENABLE();
  138. /* USER CODE BEGIN RTC_MspInit 1 */
  139. /* USER CODE END RTC_MspInit 1 */
  140. }
  141. }
  142. /**
  143. * @brief RTC MSP De-Initialization
  144. * This function freeze the hardware resources used in this example
  145. * @param hrtc: RTC handle pointer
  146. * @retval None
  147. */
  148. void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
  149. {
  150. if(hrtc->Instance==RTC)
  151. {
  152. /* USER CODE BEGIN RTC_MspDeInit 0 */
  153. /* USER CODE END RTC_MspDeInit 0 */
  154. /* Peripheral clock disable */
  155. __HAL_RCC_RTC_DISABLE();
  156. /* USER CODE BEGIN RTC_MspDeInit 1 */
  157. /* USER CODE END RTC_MspDeInit 1 */
  158. }
  159. }
  160. /**
  161. * @brief SPI MSP Initialization
  162. * This function configures the hardware resources used in this example
  163. * @param hspi: SPI handle pointer
  164. * @retval None
  165. */
  166. void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
  167. {
  168. GPIO_InitTypeDef GPIO_InitStruct = {0};
  169. if(hspi->Instance==SPI2)
  170. {
  171. /* USER CODE BEGIN SPI2_MspInit 0 */
  172. /* USER CODE END SPI2_MspInit 0 */
  173. /* Peripheral clock enable */
  174. __HAL_RCC_SPI2_CLK_ENABLE();
  175. __HAL_RCC_GPIOB_CLK_ENABLE();
  176. /**SPI2 GPIO Configuration
  177. PB13 ------> SPI2_SCK
  178. PB14 ------> SPI2_MISO
  179. PB15 ------> SPI2_MOSI
  180. */
  181. GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_15;
  182. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  183. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  184. HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  185. GPIO_InitStruct.Pin = GPIO_PIN_14;
  186. GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  187. GPIO_InitStruct.Pull = GPIO_NOPULL;
  188. HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  189. /* USER CODE BEGIN SPI2_MspInit 1 */
  190. /* USER CODE END SPI2_MspInit 1 */
  191. }
  192. }
  193. /**
  194. * @brief SPI MSP De-Initialization
  195. * This function freeze the hardware resources used in this example
  196. * @param hspi: SPI handle pointer
  197. * @retval None
  198. */
  199. void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
  200. {
  201. if(hspi->Instance==SPI2)
  202. {
  203. /* USER CODE BEGIN SPI2_MspDeInit 0 */
  204. /* USER CODE END SPI2_MspDeInit 0 */
  205. /* Peripheral clock disable */
  206. __HAL_RCC_SPI2_CLK_DISABLE();
  207. /**SPI2 GPIO Configuration
  208. PB13 ------> SPI2_SCK
  209. PB14 ------> SPI2_MISO
  210. PB15 ------> SPI2_MOSI
  211. */
  212. HAL_GPIO_DeInit(GPIOB, GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
  213. /* USER CODE BEGIN SPI2_MspDeInit 1 */
  214. /* USER CODE END SPI2_MspDeInit 1 */
  215. }
  216. }
  217. /**
  218. * @brief TIM_Base MSP Initialization
  219. * This function configures the hardware resources used in this example
  220. * @param htim_base: TIM_Base handle pointer
  221. * @retval None
  222. */
  223. void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
  224. {
  225. if(htim_base->Instance==TIM2)
  226. {
  227. /* USER CODE BEGIN TIM2_MspInit 0 */
  228. /* USER CODE END TIM2_MspInit 0 */
  229. /* Peripheral clock enable */
  230. __HAL_RCC_TIM2_CLK_ENABLE();
  231. /* USER CODE BEGIN TIM2_MspInit 1 */
  232. /* USER CODE END TIM2_MspInit 1 */
  233. }
  234. else if(htim_base->Instance==TIM3)
  235. {
  236. /* USER CODE BEGIN TIM3_MspInit 0 */
  237. /* USER CODE END TIM3_MspInit 0 */
  238. /* Peripheral clock enable */
  239. __HAL_RCC_TIM3_CLK_ENABLE();
  240. /* USER CODE BEGIN TIM3_MspInit 1 */
  241. /* USER CODE END TIM3_MspInit 1 */
  242. }
  243. }
  244. void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
  245. {
  246. GPIO_InitTypeDef GPIO_InitStruct = {0};
  247. if(htim->Instance==TIM2)
  248. {
  249. /* USER CODE BEGIN TIM2_MspPostInit 0 */
  250. /* USER CODE END TIM2_MspPostInit 0 */
  251. __HAL_RCC_GPIOA_CLK_ENABLE();
  252. __HAL_RCC_GPIOB_CLK_ENABLE();
  253. /**TIM2 GPIO Configuration
  254. PA15 ------> TIM2_CH1
  255. PB3 ------> TIM2_CH2
  256. */
  257. GPIO_InitStruct.Pin = GPIO_PIN_15;
  258. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  259. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  260. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  261. GPIO_InitStruct.Pin = GPIO_PIN_3;
  262. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  263. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  264. HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  265. __HAL_AFIO_REMAP_TIM2_PARTIAL_1();
  266. /* USER CODE BEGIN TIM2_MspPostInit 1 */
  267. /* USER CODE END TIM2_MspPostInit 1 */
  268. }
  269. else if(htim->Instance==TIM3)
  270. {
  271. /* USER CODE BEGIN TIM3_MspPostInit 0 */
  272. /* USER CODE END TIM3_MspPostInit 0 */
  273. __HAL_RCC_GPIOB_CLK_ENABLE();
  274. /**TIM3 GPIO Configuration
  275. PB0 ------> TIM3_CH3
  276. PB1 ------> TIM3_CH4
  277. PB4 ------> TIM3_CH1
  278. PB5 ------> TIM3_CH2
  279. */
  280. GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5;
  281. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  282. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  283. HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  284. __HAL_AFIO_REMAP_TIM3_PARTIAL();
  285. /* USER CODE BEGIN TIM3_MspPostInit 1 */
  286. /* USER CODE END TIM3_MspPostInit 1 */
  287. }
  288. }
  289. /**
  290. * @brief TIM_Base MSP De-Initialization
  291. * This function freeze the hardware resources used in this example
  292. * @param htim_base: TIM_Base handle pointer
  293. * @retval None
  294. */
  295. void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
  296. {
  297. if(htim_base->Instance==TIM2)
  298. {
  299. /* USER CODE BEGIN TIM2_MspDeInit 0 */
  300. /* USER CODE END TIM2_MspDeInit 0 */
  301. /* Peripheral clock disable */
  302. __HAL_RCC_TIM2_CLK_DISABLE();
  303. /* USER CODE BEGIN TIM2_MspDeInit 1 */
  304. /* USER CODE END TIM2_MspDeInit 1 */
  305. }
  306. else if(htim_base->Instance==TIM3)
  307. {
  308. /* USER CODE BEGIN TIM3_MspDeInit 0 */
  309. /* USER CODE END TIM3_MspDeInit 0 */
  310. /* Peripheral clock disable */
  311. __HAL_RCC_TIM3_CLK_DISABLE();
  312. /* USER CODE BEGIN TIM3_MspDeInit 1 */
  313. /* USER CODE END TIM3_MspDeInit 1 */
  314. }
  315. }
  316. /**
  317. * @brief UART MSP Initialization
  318. * This function configures the hardware resources used in this example
  319. * @param huart: UART handle pointer
  320. * @retval None
  321. */
  322. void HAL_UART_MspInit(UART_HandleTypeDef* huart)
  323. {
  324. GPIO_InitTypeDef GPIO_InitStruct = {0};
  325. if(huart->Instance==USART1)
  326. {
  327. /* USER CODE BEGIN USART1_MspInit 0 */
  328. /* USER CODE END USART1_MspInit 0 */
  329. /* Peripheral clock enable */
  330. __HAL_RCC_USART1_CLK_ENABLE();
  331. __HAL_RCC_GPIOA_CLK_ENABLE();
  332. /**USART1 GPIO Configuration
  333. PA9 ------> USART1_TX
  334. PA10 ------> USART1_RX
  335. */
  336. GPIO_InitStruct.Pin = GPIO_PIN_9;
  337. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  338. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  339. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  340. GPIO_InitStruct.Pin = GPIO_PIN_10;
  341. GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  342. GPIO_InitStruct.Pull = GPIO_PULLUP;
  343. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  344. /* USER CODE BEGIN USART1_MspInit 1 */
  345. /* USER CODE END USART1_MspInit 1 */
  346. }
  347. else if(huart->Instance==USART2)
  348. {
  349. /* USER CODE BEGIN USART2_MspInit 0 */
  350. /* USER CODE END USART2_MspInit 0 */
  351. /* Peripheral clock enable */
  352. __HAL_RCC_USART2_CLK_ENABLE();
  353. __HAL_RCC_GPIOA_CLK_ENABLE();
  354. /**USART2 GPIO Configuration
  355. PA2 ------> USART2_TX
  356. PA3 ------> USART2_RX
  357. */
  358. GPIO_InitStruct.Pin = GPIO_PIN_2;
  359. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  360. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  361. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  362. GPIO_InitStruct.Pin = GPIO_PIN_3;
  363. GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  364. GPIO_InitStruct.Pull = GPIO_PULLUP;
  365. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  366. /* USER CODE BEGIN USART2_MspInit 1 */
  367. /* USER CODE END USART2_MspInit 1 */
  368. }
  369. else if(huart->Instance==USART3)
  370. {
  371. /* USER CODE BEGIN USART3_MspInit 0 */
  372. /* USER CODE END USART3_MspInit 0 */
  373. /* Peripheral clock enable */
  374. __HAL_RCC_USART3_CLK_ENABLE();
  375. __HAL_RCC_GPIOB_CLK_ENABLE();
  376. /**USART3 GPIO Configuration
  377. PB10 ------> USART3_TX
  378. PB11 ------> USART3_RX
  379. */
  380. GPIO_InitStruct.Pin = GPIO_PIN_10;
  381. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  382. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  383. HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  384. GPIO_InitStruct.Pin = GPIO_PIN_11;
  385. GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  386. GPIO_InitStruct.Pull = GPIO_NOPULL;
  387. HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  388. /* USER CODE BEGIN USART3_MspInit 1 */
  389. /* USER CODE END USART3_MspInit 1 */
  390. }
  391. }
  392. /**
  393. * @brief UART MSP De-Initialization
  394. * This function freeze the hardware resources used in this example
  395. * @param huart: UART handle pointer
  396. * @retval None
  397. */
  398. void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
  399. {
  400. if(huart->Instance==USART1)
  401. {
  402. /* USER CODE BEGIN USART1_MspDeInit 0 */
  403. /* USER CODE END USART1_MspDeInit 0 */
  404. /* Peripheral clock disable */
  405. __HAL_RCC_USART1_CLK_DISABLE();
  406. /**USART1 GPIO Configuration
  407. PA9 ------> USART1_TX
  408. PA10 ------> USART1_RX
  409. */
  410. HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
  411. /* USER CODE BEGIN USART1_MspDeInit 1 */
  412. /* USER CODE END USART1_MspDeInit 1 */
  413. }
  414. else if(huart->Instance==USART2)
  415. {
  416. /* USER CODE BEGIN USART2_MspDeInit 0 */
  417. /* USER CODE END USART2_MspDeInit 0 */
  418. /* Peripheral clock disable */
  419. __HAL_RCC_USART2_CLK_DISABLE();
  420. /**USART2 GPIO Configuration
  421. PA2 ------> USART2_TX
  422. PA3 ------> USART2_RX
  423. */
  424. HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
  425. /* USER CODE BEGIN USART2_MspDeInit 1 */
  426. /* USER CODE END USART2_MspDeInit 1 */
  427. }
  428. else if(huart->Instance==USART3)
  429. {
  430. /* USER CODE BEGIN USART3_MspDeInit 0 */
  431. /* USER CODE END USART3_MspDeInit 0 */
  432. /* Peripheral clock disable */
  433. __HAL_RCC_USART3_CLK_DISABLE();
  434. /**USART3 GPIO Configuration
  435. PB10 ------> USART3_TX
  436. PB11 ------> USART3_RX
  437. */
  438. HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11);
  439. /* USER CODE BEGIN USART3_MspDeInit 1 */
  440. /* USER CODE END USART3_MspDeInit 1 */
  441. }
  442. }
  443. /**
  444. * @brief PCD MSP Initialization
  445. * This function configures the hardware resources used in this example
  446. * @param hpcd: PCD handle pointer
  447. * @retval None
  448. */
  449. void HAL_PCD_MspInit(PCD_HandleTypeDef* hpcd)
  450. {
  451. if(hpcd->Instance==USB)
  452. {
  453. /* USER CODE BEGIN USB_MspInit 0 */
  454. /* USER CODE END USB_MspInit 0 */
  455. /* Peripheral clock enable */
  456. __HAL_RCC_USB_CLK_ENABLE();
  457. /* USER CODE BEGIN USB_MspInit 1 */
  458. /* USER CODE END USB_MspInit 1 */
  459. }
  460. }
  461. /**
  462. * @brief PCD MSP De-Initialization
  463. * This function freeze the hardware resources used in this example
  464. * @param hpcd: PCD handle pointer
  465. * @retval None
  466. */
  467. void HAL_PCD_MspDeInit(PCD_HandleTypeDef* hpcd)
  468. {
  469. if(hpcd->Instance==USB)
  470. {
  471. /* USER CODE BEGIN USB_MspDeInit 0 */
  472. /* USER CODE END USB_MspDeInit 0 */
  473. /* Peripheral clock disable */
  474. __HAL_RCC_USB_CLK_DISABLE();
  475. /* USER CODE BEGIN USB_MspDeInit 1 */
  476. /* USER CODE END USB_MspDeInit 1 */
  477. }
  478. }
  479. /* USER CODE BEGIN 1 */
  480. /* USER CODE END 1 */