stm32f4xx_hal_msp.c 30 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112
  1. /* USER CODE BEGIN Header */
  2. /**
  3. ******************************************************************************
  4. * File Name : stm32f4xx_hal_msp.c
  5. * Description : This file provides code for the MSP Initialization
  6. * and de-Initialization codes.
  7. ******************************************************************************
  8. ** This notice applies to any and all portions of this file
  9. * that are not between comment pairs USER CODE BEGIN and
  10. * USER CODE END. Other portions of this file, whether
  11. * inserted by the user or by software development tools
  12. * are owned by their respective copyright owners.
  13. *
  14. * COPYRIGHT(c) 2018 STMicroelectronics
  15. *
  16. * Redistribution and use in source and binary forms, with or without modification,
  17. * are permitted provided that the following conditions are met:
  18. * 1. Redistributions of source code must retain the above copyright notice,
  19. * this list of conditions and the following disclaimer.
  20. * 2. Redistributions in binary form must reproduce the above copyright notice,
  21. * this list of conditions and the following disclaimer in the documentation
  22. * and/or other materials provided with the distribution.
  23. * 3. Neither the name of STMicroelectronics nor the names of its contributors
  24. * may be used to endorse or promote products derived from this software
  25. * without specific prior written permission.
  26. *
  27. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  28. * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  29. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  30. * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  31. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  32. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  33. * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  34. * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  35. * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  36. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  37. *
  38. ******************************************************************************
  39. */
  40. /* USER CODE END Header */
  41. /* Includes ------------------------------------------------------------------*/
  42. #include "main.h"
  43. /* USER CODE BEGIN Includes */
  44. /* USER CODE END Includes */
  45. /* Private typedef -----------------------------------------------------------*/
  46. /* USER CODE BEGIN TD */
  47. /* USER CODE END TD */
  48. /* Private define ------------------------------------------------------------*/
  49. /* USER CODE BEGIN Define */
  50. /* USER CODE END Define */
  51. /* Private macro -------------------------------------------------------------*/
  52. /* USER CODE BEGIN Macro */
  53. /* USER CODE END Macro */
  54. /* Private variables ---------------------------------------------------------*/
  55. /* USER CODE BEGIN PV */
  56. /* USER CODE END PV */
  57. /* Private function prototypes -----------------------------------------------*/
  58. /* USER CODE BEGIN PFP */
  59. /* USER CODE END PFP */
  60. /* External functions --------------------------------------------------------*/
  61. /* USER CODE BEGIN ExternalFunctions */
  62. /* USER CODE END ExternalFunctions */
  63. /* USER CODE BEGIN 0 */
  64. /* USER CODE END 0 */
  65. void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
  66. /**
  67. * Initializes the Global MSP.
  68. */
  69. void HAL_MspInit(void)
  70. {
  71. /* USER CODE BEGIN MspInit 0 */
  72. /* USER CODE END MspInit 0 */
  73. __HAL_RCC_SYSCFG_CLK_ENABLE();
  74. __HAL_RCC_PWR_CLK_ENABLE();
  75. /* System interrupt init*/
  76. /* USER CODE BEGIN MspInit 1 */
  77. /* USER CODE END MspInit 1 */
  78. }
  79. /**
  80. * @brief ADC MSP Initialization
  81. * This function configures the hardware resources used in this example
  82. * @param hadc: ADC handle pointer
  83. * @retval None
  84. */
  85. void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
  86. {
  87. GPIO_InitTypeDef GPIO_InitStruct = {0};
  88. if(hadc->Instance==ADC1)
  89. {
  90. /* USER CODE BEGIN ADC1_MspInit 0 */
  91. /* USER CODE END ADC1_MspInit 0 */
  92. /* Peripheral clock enable */
  93. __HAL_RCC_ADC1_CLK_ENABLE();
  94. __HAL_RCC_GPIOA_CLK_ENABLE();
  95. /**ADC1 GPIO Configuration
  96. PA5 ------> ADC1_IN5
  97. */
  98. GPIO_InitStruct.Pin = GPIO_PIN_5;
  99. GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
  100. GPIO_InitStruct.Pull = GPIO_NOPULL;
  101. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  102. /* USER CODE BEGIN ADC1_MspInit 1 */
  103. /* USER CODE END ADC1_MspInit 1 */
  104. }
  105. }
  106. /**
  107. * @brief ADC MSP De-Initialization
  108. * This function freeze the hardware resources used in this example
  109. * @param hadc: ADC handle pointer
  110. * @retval None
  111. */
  112. void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
  113. {
  114. if(hadc->Instance==ADC1)
  115. {
  116. /* USER CODE BEGIN ADC1_MspDeInit 0 */
  117. /* USER CODE END ADC1_MspDeInit 0 */
  118. /* Peripheral clock disable */
  119. __HAL_RCC_ADC1_CLK_DISABLE();
  120. /**ADC1 GPIO Configuration
  121. PA5 ------> ADC1_IN5
  122. */
  123. HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5);
  124. /* USER CODE BEGIN ADC1_MspDeInit 1 */
  125. /* USER CODE END ADC1_MspDeInit 1 */
  126. }
  127. }
  128. /**
  129. * @brief CAN MSP Initialization
  130. * This function configures the hardware resources used in this example
  131. * @param hcan: CAN handle pointer
  132. * @retval None
  133. */
  134. void HAL_CAN_MspInit(CAN_HandleTypeDef* hcan)
  135. {
  136. GPIO_InitTypeDef GPIO_InitStruct = {0};
  137. if(hcan->Instance==CAN1)
  138. {
  139. /* USER CODE BEGIN CAN1_MspInit 0 */
  140. /* USER CODE END CAN1_MspInit 0 */
  141. /* Peripheral clock enable */
  142. __HAL_RCC_CAN1_CLK_ENABLE();
  143. __HAL_RCC_GPIOA_CLK_ENABLE();
  144. /**CAN1 GPIO Configuration
  145. PA11 ------> CAN1_RX
  146. PA12 ------> CAN1_TX
  147. */
  148. GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12;
  149. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  150. GPIO_InitStruct.Pull = GPIO_NOPULL;
  151. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  152. GPIO_InitStruct.Alternate = GPIO_AF9_CAN1;
  153. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  154. /* USER CODE BEGIN CAN1_MspInit 1 */
  155. /* USER CODE END CAN1_MspInit 1 */
  156. }
  157. }
  158. /**
  159. * @brief CAN MSP De-Initialization
  160. * This function freeze the hardware resources used in this example
  161. * @param hcan: CAN handle pointer
  162. * @retval None
  163. */
  164. void HAL_CAN_MspDeInit(CAN_HandleTypeDef* hcan)
  165. {
  166. if(hcan->Instance==CAN1)
  167. {
  168. /* USER CODE BEGIN CAN1_MspDeInit 0 */
  169. /* USER CODE END CAN1_MspDeInit 0 */
  170. /* Peripheral clock disable */
  171. __HAL_RCC_CAN1_CLK_DISABLE();
  172. /**CAN1 GPIO Configuration
  173. PA11 ------> CAN1_RX
  174. PA12 ------> CAN1_TX
  175. */
  176. HAL_GPIO_DeInit(GPIOA, GPIO_PIN_11|GPIO_PIN_12);
  177. /* USER CODE BEGIN CAN1_MspDeInit 1 */
  178. /* USER CODE END CAN1_MspDeInit 1 */
  179. }
  180. }
  181. /**
  182. * @brief ETH MSP Initialization
  183. * This function configures the hardware resources used in this example
  184. * @param heth: ETH handle pointer
  185. * @retval None
  186. */
  187. void HAL_ETH_MspInit(ETH_HandleTypeDef* heth)
  188. {
  189. GPIO_InitTypeDef GPIO_InitStruct = {0};
  190. if(heth->Instance==ETH)
  191. {
  192. /* USER CODE BEGIN ETH_MspInit 0 */
  193. /* USER CODE END ETH_MspInit 0 */
  194. /* Peripheral clock enable */
  195. __HAL_RCC_ETH_CLK_ENABLE();
  196. __HAL_RCC_GPIOC_CLK_ENABLE();
  197. __HAL_RCC_GPIOA_CLK_ENABLE();
  198. __HAL_RCC_GPIOG_CLK_ENABLE();
  199. /**ETH GPIO Configuration
  200. PC1 ------> ETH_MDC
  201. PA1 ------> ETH_REF_CLK
  202. PA2 ------> ETH_MDIO
  203. PA7 ------> ETH_CRS_DV
  204. PC4 ------> ETH_RXD0
  205. PC5 ------> ETH_RXD1
  206. PG11 ------> ETH_TX_EN
  207. PG13 ------> ETH_TXD0
  208. PG14 ------> ETH_TXD1
  209. */
  210. GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5;
  211. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  212. GPIO_InitStruct.Pull = GPIO_NOPULL;
  213. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  214. GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
  215. HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
  216. GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_7;
  217. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  218. GPIO_InitStruct.Pull = GPIO_NOPULL;
  219. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  220. GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
  221. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  222. GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_13|GPIO_PIN_14;
  223. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  224. GPIO_InitStruct.Pull = GPIO_NOPULL;
  225. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  226. GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
  227. HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
  228. /* USER CODE BEGIN ETH_MspInit 1 */
  229. /* USER CODE END ETH_MspInit 1 */
  230. }
  231. }
  232. /**
  233. * @brief ETH MSP De-Initialization
  234. * This function freeze the hardware resources used in this example
  235. * @param heth: ETH handle pointer
  236. * @retval None
  237. */
  238. void HAL_ETH_MspDeInit(ETH_HandleTypeDef* heth)
  239. {
  240. if(heth->Instance==ETH)
  241. {
  242. /* USER CODE BEGIN ETH_MspDeInit 0 */
  243. /* USER CODE END ETH_MspDeInit 0 */
  244. /* Peripheral clock disable */
  245. __HAL_RCC_ETH_CLK_DISABLE();
  246. /**ETH GPIO Configuration
  247. PC1 ------> ETH_MDC
  248. PA1 ------> ETH_REF_CLK
  249. PA2 ------> ETH_MDIO
  250. PA7 ------> ETH_CRS_DV
  251. PC4 ------> ETH_RXD0
  252. PC5 ------> ETH_RXD1
  253. PG11 ------> ETH_TX_EN
  254. PG13 ------> ETH_TXD0
  255. PG14 ------> ETH_TXD1
  256. */
  257. HAL_GPIO_DeInit(GPIOC, GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5);
  258. HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_7);
  259. HAL_GPIO_DeInit(GPIOG, GPIO_PIN_11|GPIO_PIN_13|GPIO_PIN_14);
  260. /* USER CODE BEGIN ETH_MspDeInit 1 */
  261. /* USER CODE END ETH_MspDeInit 1 */
  262. }
  263. }
  264. /**
  265. * @brief RTC MSP Initialization
  266. * This function configures the hardware resources used in this example
  267. * @param hrtc: RTC handle pointer
  268. * @retval None
  269. */
  270. void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
  271. {
  272. if(hrtc->Instance==RTC)
  273. {
  274. /* USER CODE BEGIN RTC_MspInit 0 */
  275. /* USER CODE END RTC_MspInit 0 */
  276. /* Peripheral clock enable */
  277. __HAL_RCC_RTC_ENABLE();
  278. /* USER CODE BEGIN RTC_MspInit 1 */
  279. /* USER CODE END RTC_MspInit 1 */
  280. }
  281. }
  282. /**
  283. * @brief RTC MSP De-Initialization
  284. * This function freeze the hardware resources used in this example
  285. * @param hrtc: RTC handle pointer
  286. * @retval None
  287. */
  288. void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
  289. {
  290. if(hrtc->Instance==RTC)
  291. {
  292. /* USER CODE BEGIN RTC_MspDeInit 0 */
  293. /* USER CODE END RTC_MspDeInit 0 */
  294. /* Peripheral clock disable */
  295. __HAL_RCC_RTC_DISABLE();
  296. /* USER CODE BEGIN RTC_MspDeInit 1 */
  297. /* USER CODE END RTC_MspDeInit 1 */
  298. }
  299. }
  300. /**
  301. * @brief SD MSP Initialization
  302. * This function configures the hardware resources used in this example
  303. * @param hsd: SD handle pointer
  304. * @retval None
  305. */
  306. void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
  307. {
  308. GPIO_InitTypeDef GPIO_InitStruct = {0};
  309. if(hsd->Instance==SDIO)
  310. {
  311. /* USER CODE BEGIN SDIO_MspInit 0 */
  312. /* USER CODE END SDIO_MspInit 0 */
  313. /* Peripheral clock enable */
  314. __HAL_RCC_SDIO_CLK_ENABLE();
  315. __HAL_RCC_GPIOC_CLK_ENABLE();
  316. __HAL_RCC_GPIOD_CLK_ENABLE();
  317. /**SDIO GPIO Configuration
  318. PC8 ------> SDIO_D0
  319. PC9 ------> SDIO_D1
  320. PC10 ------> SDIO_D2
  321. PC11 ------> SDIO_D3
  322. PC12 ------> SDIO_CK
  323. PD2 ------> SDIO_CMD
  324. */
  325. GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
  326. |GPIO_PIN_12;
  327. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  328. GPIO_InitStruct.Pull = GPIO_NOPULL;
  329. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  330. GPIO_InitStruct.Alternate = GPIO_AF12_SDIO;
  331. HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
  332. GPIO_InitStruct.Pin = GPIO_PIN_2;
  333. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  334. GPIO_InitStruct.Pull = GPIO_NOPULL;
  335. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  336. GPIO_InitStruct.Alternate = GPIO_AF12_SDIO;
  337. HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
  338. /* USER CODE BEGIN SDIO_MspInit 1 */
  339. /* USER CODE END SDIO_MspInit 1 */
  340. }
  341. }
  342. /**
  343. * @brief SD MSP De-Initialization
  344. * This function freeze the hardware resources used in this example
  345. * @param hsd: SD handle pointer
  346. * @retval None
  347. */
  348. void HAL_SD_MspDeInit(SD_HandleTypeDef* hsd)
  349. {
  350. if(hsd->Instance==SDIO)
  351. {
  352. /* USER CODE BEGIN SDIO_MspDeInit 0 */
  353. /* USER CODE END SDIO_MspDeInit 0 */
  354. /* Peripheral clock disable */
  355. __HAL_RCC_SDIO_CLK_DISABLE();
  356. /**SDIO GPIO Configuration
  357. PC8 ------> SDIO_D0
  358. PC9 ------> SDIO_D1
  359. PC10 ------> SDIO_D2
  360. PC11 ------> SDIO_D3
  361. PC12 ------> SDIO_CK
  362. PD2 ------> SDIO_CMD
  363. */
  364. HAL_GPIO_DeInit(GPIOC, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
  365. |GPIO_PIN_12);
  366. HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2);
  367. /* USER CODE BEGIN SDIO_MspDeInit 1 */
  368. /* USER CODE END SDIO_MspDeInit 1 */
  369. }
  370. }
  371. /**
  372. * @brief SPI MSP Initialization
  373. * This function configures the hardware resources used in this example
  374. * @param hspi: SPI handle pointer
  375. * @retval None
  376. */
  377. void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
  378. {
  379. GPIO_InitTypeDef GPIO_InitStruct = {0};
  380. if(hspi->Instance==SPI1)
  381. {
  382. /* USER CODE BEGIN SPI1_MspInit 0 */
  383. /* USER CODE END SPI1_MspInit 0 */
  384. /* Peripheral clock enable */
  385. __HAL_RCC_SPI1_CLK_ENABLE();
  386. __HAL_RCC_GPIOA_CLK_ENABLE();
  387. __HAL_RCC_GPIOB_CLK_ENABLE();
  388. /**SPI1 GPIO Configuration
  389. PA6 ------> SPI1_MISO
  390. PB3 ------> SPI1_SCK
  391. PB5 ------> SPI1_MOSI
  392. */
  393. GPIO_InitStruct.Pin = GPIO_PIN_6;
  394. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  395. GPIO_InitStruct.Pull = GPIO_NOPULL;
  396. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  397. GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
  398. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  399. GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_5;
  400. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  401. GPIO_InitStruct.Pull = GPIO_NOPULL;
  402. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  403. GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
  404. HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  405. /* USER CODE BEGIN SPI1_MspInit 1 */
  406. /* USER CODE END SPI1_MspInit 1 */
  407. }
  408. else if(hspi->Instance==SPI2)
  409. {
  410. /* USER CODE BEGIN SPI2_MspInit 0 */
  411. /* USER CODE END SPI2_MspInit 0 */
  412. /* Peripheral clock enable */
  413. __HAL_RCC_SPI2_CLK_ENABLE();
  414. __HAL_RCC_GPIOB_CLK_ENABLE();
  415. /**SPI2 GPIO Configuration
  416. PB13 ------> SPI2_SCK
  417. PB14 ------> SPI2_MISO
  418. PB15 ------> SPI2_MOSI
  419. */
  420. GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
  421. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  422. GPIO_InitStruct.Pull = GPIO_NOPULL;
  423. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  424. GPIO_InitStruct.Alternate = GPIO_AF5_SPI2;
  425. HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  426. /* USER CODE BEGIN SPI2_MspInit 1 */
  427. /* USER CODE END SPI2_MspInit 1 */
  428. }
  429. else if(hspi->Instance==SPI5)
  430. {
  431. /* USER CODE BEGIN SPI5_MspInit 0 */
  432. /* USER CODE END SPI5_MspInit 0 */
  433. /* Peripheral clock enable */
  434. __HAL_RCC_SPI5_CLK_ENABLE();
  435. __HAL_RCC_GPIOF_CLK_ENABLE();
  436. /**SPI5 GPIO Configuration
  437. PF7 ------> SPI5_SCK
  438. PF8 ------> SPI5_MISO
  439. PF9 ------> SPI5_MOSI
  440. */
  441. GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9;
  442. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  443. GPIO_InitStruct.Pull = GPIO_NOPULL;
  444. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  445. GPIO_InitStruct.Alternate = GPIO_AF5_SPI5;
  446. HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
  447. /* USER CODE BEGIN SPI5_MspInit 1 */
  448. /* USER CODE END SPI5_MspInit 1 */
  449. }
  450. }
  451. /**
  452. * @brief SPI MSP De-Initialization
  453. * This function freeze the hardware resources used in this example
  454. * @param hspi: SPI handle pointer
  455. * @retval None
  456. */
  457. void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
  458. {
  459. if(hspi->Instance==SPI1)
  460. {
  461. /* USER CODE BEGIN SPI1_MspDeInit 0 */
  462. /* USER CODE END SPI1_MspDeInit 0 */
  463. /* Peripheral clock disable */
  464. __HAL_RCC_SPI1_CLK_DISABLE();
  465. /**SPI1 GPIO Configuration
  466. PA6 ------> SPI1_MISO
  467. PB3 ------> SPI1_SCK
  468. PB5 ------> SPI1_MOSI
  469. */
  470. HAL_GPIO_DeInit(GPIOA, GPIO_PIN_6);
  471. HAL_GPIO_DeInit(GPIOB, GPIO_PIN_3|GPIO_PIN_5);
  472. /* USER CODE BEGIN SPI1_MspDeInit 1 */
  473. /* USER CODE END SPI1_MspDeInit 1 */
  474. }
  475. else if(hspi->Instance==SPI2)
  476. {
  477. /* USER CODE BEGIN SPI2_MspDeInit 0 */
  478. /* USER CODE END SPI2_MspDeInit 0 */
  479. /* Peripheral clock disable */
  480. __HAL_RCC_SPI2_CLK_DISABLE();
  481. /**SPI2 GPIO Configuration
  482. PB13 ------> SPI2_SCK
  483. PB14 ------> SPI2_MISO
  484. PB15 ------> SPI2_MOSI
  485. */
  486. HAL_GPIO_DeInit(GPIOB, GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
  487. /* USER CODE BEGIN SPI2_MspDeInit 1 */
  488. /* USER CODE END SPI2_MspDeInit 1 */
  489. }
  490. else if(hspi->Instance==SPI5)
  491. {
  492. /* USER CODE BEGIN SPI5_MspDeInit 0 */
  493. /* USER CODE END SPI5_MspDeInit 0 */
  494. /* Peripheral clock disable */
  495. __HAL_RCC_SPI5_CLK_DISABLE();
  496. /**SPI5 GPIO Configuration
  497. PF7 ------> SPI5_SCK
  498. PF8 ------> SPI5_MISO
  499. PF9 ------> SPI5_MOSI
  500. */
  501. HAL_GPIO_DeInit(GPIOF, GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9);
  502. /* USER CODE BEGIN SPI5_MspDeInit 1 */
  503. /* USER CODE END SPI5_MspDeInit 1 */
  504. }
  505. }
  506. /**
  507. * @brief TIM_Base MSP Initialization
  508. * This function configures the hardware resources used in this example
  509. * @param htim_base: TIM_Base handle pointer
  510. * @retval None
  511. */
  512. void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
  513. {
  514. if(htim_base->Instance==TIM2)
  515. {
  516. /* USER CODE BEGIN TIM2_MspInit 0 */
  517. /* USER CODE END TIM2_MspInit 0 */
  518. /* Peripheral clock enable */
  519. __HAL_RCC_TIM2_CLK_ENABLE();
  520. /* USER CODE BEGIN TIM2_MspInit 1 */
  521. /* USER CODE END TIM2_MspInit 1 */
  522. }
  523. else if(htim_base->Instance==TIM11)
  524. {
  525. /* USER CODE BEGIN TIM11_MspInit 0 */
  526. /* USER CODE END TIM11_MspInit 0 */
  527. /* Peripheral clock enable */
  528. __HAL_RCC_TIM11_CLK_ENABLE();
  529. /* USER CODE BEGIN TIM11_MspInit 1 */
  530. /* USER CODE END TIM11_MspInit 1 */
  531. }
  532. else if(htim_base->Instance==TIM13)
  533. {
  534. /* USER CODE BEGIN TIM13_MspInit 0 */
  535. /* USER CODE END TIM13_MspInit 0 */
  536. /* Peripheral clock enable */
  537. __HAL_RCC_TIM13_CLK_ENABLE();
  538. /* USER CODE BEGIN TIM13_MspInit 1 */
  539. /* USER CODE END TIM13_MspInit 1 */
  540. }
  541. else if(htim_base->Instance==TIM14)
  542. {
  543. /* USER CODE BEGIN TIM14_MspInit 0 */
  544. /* USER CODE END TIM14_MspInit 0 */
  545. /* Peripheral clock enable */
  546. __HAL_RCC_TIM14_CLK_ENABLE();
  547. /* USER CODE BEGIN TIM14_MspInit 1 */
  548. /* USER CODE END TIM14_MspInit 1 */
  549. }
  550. }
  551. void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
  552. {
  553. GPIO_InitTypeDef GPIO_InitStruct = {0};
  554. if(htim->Instance==TIM2)
  555. {
  556. /* USER CODE BEGIN TIM2_MspPostInit 0 */
  557. /* USER CODE END TIM2_MspPostInit 0 */
  558. __HAL_RCC_GPIOA_CLK_ENABLE();
  559. /**TIM2 GPIO Configuration
  560. PA3 ------> TIM2_CH4
  561. */
  562. GPIO_InitStruct.Pin = GPIO_PIN_3;
  563. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  564. GPIO_InitStruct.Pull = GPIO_NOPULL;
  565. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  566. GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;
  567. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  568. /* USER CODE BEGIN TIM2_MspPostInit 1 */
  569. /* USER CODE END TIM2_MspPostInit 1 */
  570. }
  571. }
  572. /**
  573. * @brief TIM_Base MSP De-Initialization
  574. * This function freeze the hardware resources used in this example
  575. * @param htim_base: TIM_Base handle pointer
  576. * @retval None
  577. */
  578. void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
  579. {
  580. if(htim_base->Instance==TIM2)
  581. {
  582. /* USER CODE BEGIN TIM2_MspDeInit 0 */
  583. /* USER CODE END TIM2_MspDeInit 0 */
  584. /* Peripheral clock disable */
  585. __HAL_RCC_TIM2_CLK_DISABLE();
  586. /* USER CODE BEGIN TIM2_MspDeInit 1 */
  587. /* USER CODE END TIM2_MspDeInit 1 */
  588. }
  589. else if(htim_base->Instance==TIM11)
  590. {
  591. /* USER CODE BEGIN TIM11_MspDeInit 0 */
  592. /* USER CODE END TIM11_MspDeInit 0 */
  593. /* Peripheral clock disable */
  594. __HAL_RCC_TIM11_CLK_DISABLE();
  595. /* USER CODE BEGIN TIM11_MspDeInit 1 */
  596. /* USER CODE END TIM11_MspDeInit 1 */
  597. }
  598. else if(htim_base->Instance==TIM13)
  599. {
  600. /* USER CODE BEGIN TIM13_MspDeInit 0 */
  601. /* USER CODE END TIM13_MspDeInit 0 */
  602. /* Peripheral clock disable */
  603. __HAL_RCC_TIM13_CLK_DISABLE();
  604. /* USER CODE BEGIN TIM13_MspDeInit 1 */
  605. /* USER CODE END TIM13_MspDeInit 1 */
  606. }
  607. else if(htim_base->Instance==TIM14)
  608. {
  609. /* USER CODE BEGIN TIM14_MspDeInit 0 */
  610. /* USER CODE END TIM14_MspDeInit 0 */
  611. /* Peripheral clock disable */
  612. __HAL_RCC_TIM14_CLK_DISABLE();
  613. /* USER CODE BEGIN TIM14_MspDeInit 1 */
  614. /* USER CODE END TIM14_MspDeInit 1 */
  615. }
  616. }
  617. /**
  618. * @brief UART MSP Initialization
  619. * This function configures the hardware resources used in this example
  620. * @param huart: UART handle pointer
  621. * @retval None
  622. */
  623. void HAL_UART_MspInit(UART_HandleTypeDef* huart)
  624. {
  625. GPIO_InitTypeDef GPIO_InitStruct = {0};
  626. if(huart->Instance==USART1)
  627. {
  628. /* USER CODE BEGIN USART1_MspInit 0 */
  629. /* USER CODE END USART1_MspInit 0 */
  630. /* Peripheral clock enable */
  631. __HAL_RCC_USART1_CLK_ENABLE();
  632. __HAL_RCC_GPIOA_CLK_ENABLE();
  633. /**USART1 GPIO Configuration
  634. PA9 ------> USART1_TX
  635. PA10 ------> USART1_RX
  636. */
  637. GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;
  638. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  639. GPIO_InitStruct.Pull = GPIO_PULLUP;
  640. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  641. GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
  642. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  643. /* USART1 interrupt Init */
  644. HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
  645. HAL_NVIC_EnableIRQ(USART1_IRQn);
  646. /* USER CODE BEGIN USART1_MspInit 1 */
  647. /* USER CODE END USART1_MspInit 1 */
  648. }
  649. else if(huart->Instance==USART2)
  650. {
  651. /* USER CODE BEGIN USART2_MspInit 0 */
  652. /* USER CODE END USART2_MspInit 0 */
  653. /* Peripheral clock enable */
  654. __HAL_RCC_USART2_CLK_ENABLE();
  655. __HAL_RCC_GPIOD_CLK_ENABLE();
  656. /**USART2 GPIO Configuration
  657. PD5 ------> USART2_TX
  658. PD6 ------> USART2_RX
  659. */
  660. GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6;
  661. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  662. GPIO_InitStruct.Pull = GPIO_PULLUP;
  663. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  664. GPIO_InitStruct.Alternate = GPIO_AF7_USART2;
  665. HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
  666. /* USER CODE BEGIN USART2_MspInit 1 */
  667. /* USER CODE END USART2_MspInit 1 */
  668. }
  669. else if(huart->Instance==USART3)
  670. {
  671. /* USER CODE BEGIN USART3_MspInit 0 */
  672. /* USER CODE END USART3_MspInit 0 */
  673. /* Peripheral clock enable */
  674. __HAL_RCC_USART3_CLK_ENABLE();
  675. __HAL_RCC_GPIOB_CLK_ENABLE();
  676. /**USART3 GPIO Configuration
  677. PB10 ------> USART3_TX
  678. PB11 ------> USART3_RX
  679. */
  680. GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
  681. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  682. GPIO_InitStruct.Pull = GPIO_PULLUP;
  683. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  684. GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
  685. HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  686. /* USER CODE BEGIN USART3_MspInit 1 */
  687. /* USER CODE END USART3_MspInit 1 */
  688. }
  689. }
  690. /**
  691. * @brief UART MSP De-Initialization
  692. * This function freeze the hardware resources used in this example
  693. * @param huart: UART handle pointer
  694. * @retval None
  695. */
  696. void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
  697. {
  698. if(huart->Instance==USART1)
  699. {
  700. /* USER CODE BEGIN USART1_MspDeInit 0 */
  701. /* USER CODE END USART1_MspDeInit 0 */
  702. /* Peripheral clock disable */
  703. __HAL_RCC_USART1_CLK_DISABLE();
  704. /**USART1 GPIO Configuration
  705. PA9 ------> USART1_TX
  706. PA10 ------> USART1_RX
  707. */
  708. HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
  709. /* USART1 interrupt DeInit */
  710. HAL_NVIC_DisableIRQ(USART1_IRQn);
  711. /* USER CODE BEGIN USART1_MspDeInit 1 */
  712. /* USER CODE END USART1_MspDeInit 1 */
  713. }
  714. else if(huart->Instance==USART2)
  715. {
  716. /* USER CODE BEGIN USART2_MspDeInit 0 */
  717. /* USER CODE END USART2_MspDeInit 0 */
  718. /* Peripheral clock disable */
  719. __HAL_RCC_USART2_CLK_DISABLE();
  720. /**USART2 GPIO Configuration
  721. PD5 ------> USART2_TX
  722. PD6 ------> USART2_RX
  723. */
  724. HAL_GPIO_DeInit(GPIOD, GPIO_PIN_5|GPIO_PIN_6);
  725. /* USER CODE BEGIN USART2_MspDeInit 1 */
  726. /* USER CODE END USART2_MspDeInit 1 */
  727. }
  728. else if(huart->Instance==USART3)
  729. {
  730. /* USER CODE BEGIN USART3_MspDeInit 0 */
  731. /* USER CODE END USART3_MspDeInit 0 */
  732. /* Peripheral clock disable */
  733. __HAL_RCC_USART3_CLK_DISABLE();
  734. /**USART3 GPIO Configuration
  735. PB10 ------> USART3_TX
  736. PB11 ------> USART3_RX
  737. */
  738. HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11);
  739. /* USER CODE BEGIN USART3_MspDeInit 1 */
  740. /* USER CODE END USART3_MspDeInit 1 */
  741. }
  742. }
  743. static uint32_t FMC_Initialized = 0;
  744. static void HAL_FMC_MspInit(void){
  745. /* USER CODE BEGIN FMC_MspInit 0 */
  746. /* USER CODE END FMC_MspInit 0 */
  747. GPIO_InitTypeDef GPIO_InitStruct ={0};
  748. if (FMC_Initialized) {
  749. return;
  750. }
  751. FMC_Initialized = 1;
  752. /* Peripheral clock enable */
  753. __HAL_RCC_FMC_CLK_ENABLE();
  754. /** FMC GPIO Configuration
  755. PF0 ------> FMC_A0
  756. PF1 ------> FMC_A1
  757. PF2 ------> FMC_A2
  758. PF3 ------> FMC_A3
  759. PF4 ------> FMC_A4
  760. PF5 ------> FMC_A5
  761. PC0 ------> FMC_SDNWE
  762. PC2 ------> FMC_SDNE0
  763. PC3 ------> FMC_SDCKE0
  764. PF11 ------> FMC_SDNRAS
  765. PF12 ------> FMC_A6
  766. PF13 ------> FMC_A7
  767. PF14 ------> FMC_A8
  768. PF15 ------> FMC_A9
  769. PG0 ------> FMC_A10
  770. PG1 ------> FMC_A11
  771. PE7 ------> FMC_D4
  772. PE8 ------> FMC_D5
  773. PE9 ------> FMC_D6
  774. PE10 ------> FMC_D7
  775. PE11 ------> FMC_D8
  776. PE12 ------> FMC_D9
  777. PE13 ------> FMC_D10
  778. PE14 ------> FMC_D11
  779. PE15 ------> FMC_D12
  780. PD8 ------> FMC_D13
  781. PD9 ------> FMC_D14
  782. PD10 ------> FMC_D15
  783. PD14 ------> FMC_D0
  784. PD15 ------> FMC_D1
  785. PG2 ------> FMC_A12
  786. PG4 ------> FMC_BA0
  787. PG5 ------> FMC_BA1
  788. PG8 ------> FMC_SDCLK
  789. PD0 ------> FMC_D2
  790. PD1 ------> FMC_D3
  791. PG15 ------> FMC_SDNCAS
  792. PE0 ------> FMC_NBL0
  793. PE1 ------> FMC_NBL1
  794. */
  795. GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
  796. |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_11|GPIO_PIN_12
  797. |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
  798. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  799. GPIO_InitStruct.Pull = GPIO_NOPULL;
  800. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  801. GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
  802. HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
  803. GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_3;
  804. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  805. GPIO_InitStruct.Pull = GPIO_NOPULL;
  806. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  807. GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
  808. HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
  809. GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_4
  810. |GPIO_PIN_5|GPIO_PIN_8|GPIO_PIN_15;
  811. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  812. GPIO_InitStruct.Pull = GPIO_NOPULL;
  813. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  814. GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
  815. HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
  816. GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10
  817. |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
  818. |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1;
  819. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  820. GPIO_InitStruct.Pull = GPIO_NOPULL;
  821. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  822. GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
  823. HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
  824. GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_14
  825. |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1;
  826. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  827. GPIO_InitStruct.Pull = GPIO_NOPULL;
  828. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  829. GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
  830. HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
  831. /* USER CODE BEGIN FMC_MspInit 1 */
  832. /* USER CODE END FMC_MspInit 1 */
  833. }
  834. void HAL_SDRAM_MspInit(SDRAM_HandleTypeDef* hsdram){
  835. /* USER CODE BEGIN SDRAM_MspInit 0 */
  836. /* USER CODE END SDRAM_MspInit 0 */
  837. HAL_FMC_MspInit();
  838. /* USER CODE BEGIN SDRAM_MspInit 1 */
  839. /* USER CODE END SDRAM_MspInit 1 */
  840. }
  841. static uint32_t FMC_DeInitialized = 0;
  842. static void HAL_FMC_MspDeInit(void){
  843. /* USER CODE BEGIN FMC_MspDeInit 0 */
  844. /* USER CODE END FMC_MspDeInit 0 */
  845. if (FMC_DeInitialized) {
  846. return;
  847. }
  848. FMC_DeInitialized = 1;
  849. /* Peripheral clock enable */
  850. __HAL_RCC_FMC_CLK_DISABLE();
  851. /** FMC GPIO Configuration
  852. PF0 ------> FMC_A0
  853. PF1 ------> FMC_A1
  854. PF2 ------> FMC_A2
  855. PF3 ------> FMC_A3
  856. PF4 ------> FMC_A4
  857. PF5 ------> FMC_A5
  858. PC0 ------> FMC_SDNWE
  859. PC2 ------> FMC_SDNE0
  860. PC3 ------> FMC_SDCKE0
  861. PF11 ------> FMC_SDNRAS
  862. PF12 ------> FMC_A6
  863. PF13 ------> FMC_A7
  864. PF14 ------> FMC_A8
  865. PF15 ------> FMC_A9
  866. PG0 ------> FMC_A10
  867. PG1 ------> FMC_A11
  868. PE7 ------> FMC_D4
  869. PE8 ------> FMC_D5
  870. PE9 ------> FMC_D6
  871. PE10 ------> FMC_D7
  872. PE11 ------> FMC_D8
  873. PE12 ------> FMC_D9
  874. PE13 ------> FMC_D10
  875. PE14 ------> FMC_D11
  876. PE15 ------> FMC_D12
  877. PD8 ------> FMC_D13
  878. PD9 ------> FMC_D14
  879. PD10 ------> FMC_D15
  880. PD14 ------> FMC_D0
  881. PD15 ------> FMC_D1
  882. PG2 ------> FMC_A12
  883. PG4 ------> FMC_BA0
  884. PG5 ------> FMC_BA1
  885. PG8 ------> FMC_SDCLK
  886. PD0 ------> FMC_D2
  887. PD1 ------> FMC_D3
  888. PG15 ------> FMC_SDNCAS
  889. PE0 ------> FMC_NBL0
  890. PE1 ------> FMC_NBL1
  891. */
  892. HAL_GPIO_DeInit(GPIOF, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
  893. |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_11|GPIO_PIN_12
  894. |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
  895. HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_3);
  896. HAL_GPIO_DeInit(GPIOG, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_4
  897. |GPIO_PIN_5|GPIO_PIN_8|GPIO_PIN_15);
  898. HAL_GPIO_DeInit(GPIOE, GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10
  899. |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
  900. |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1);
  901. HAL_GPIO_DeInit(GPIOD, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_14
  902. |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1);
  903. /* USER CODE BEGIN FMC_MspDeInit 1 */
  904. /* USER CODE END FMC_MspDeInit 1 */
  905. }
  906. void HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef* hsdram){
  907. /* USER CODE BEGIN SDRAM_MspDeInit 0 */
  908. /* USER CODE END SDRAM_MspDeInit 0 */
  909. HAL_FMC_MspDeInit();
  910. /* USER CODE BEGIN SDRAM_MspDeInit 1 */
  911. /* USER CODE END SDRAM_MspDeInit 1 */
  912. }
  913. /* USER CODE BEGIN 1 */
  914. /* USER CODE END 1 */
  915. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/