stm32f4xx_hal_msp.c 31 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172
  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_GPIOC_CLK_ENABLE();
  95. /**ADC1 GPIO Configuration
  96. PC0 ------> ADC1_IN10
  97. PC3 ------> ADC1_IN13
  98. */
  99. GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_3;
  100. GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
  101. GPIO_InitStruct.Pull = GPIO_NOPULL;
  102. HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
  103. /* USER CODE BEGIN ADC1_MspInit 1 */
  104. /* USER CODE END ADC1_MspInit 1 */
  105. }
  106. }
  107. /**
  108. * @brief ADC MSP De-Initialization
  109. * This function freeze the hardware resources used in this example
  110. * @param hadc: ADC handle pointer
  111. * @retval None
  112. */
  113. void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
  114. {
  115. if(hadc->Instance==ADC1)
  116. {
  117. /* USER CODE BEGIN ADC1_MspDeInit 0 */
  118. /* USER CODE END ADC1_MspDeInit 0 */
  119. /* Peripheral clock disable */
  120. __HAL_RCC_ADC1_CLK_DISABLE();
  121. /**ADC1 GPIO Configuration
  122. PC0 ------> ADC1_IN10
  123. PC3 ------> ADC1_IN13
  124. */
  125. HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0|GPIO_PIN_3);
  126. /* USER CODE BEGIN ADC1_MspDeInit 1 */
  127. /* USER CODE END ADC1_MspDeInit 1 */
  128. }
  129. }
  130. /**
  131. * @brief DMA2D MSP Initialization
  132. * This function configures the hardware resources used in this example
  133. * @param hdma2d: DMA2D handle pointer
  134. * @retval None
  135. */
  136. void HAL_DMA2D_MspInit(DMA2D_HandleTypeDef* hdma2d)
  137. {
  138. if(hdma2d->Instance==DMA2D)
  139. {
  140. /* USER CODE BEGIN DMA2D_MspInit 0 */
  141. /* USER CODE END DMA2D_MspInit 0 */
  142. /* Peripheral clock enable */
  143. __HAL_RCC_DMA2D_CLK_ENABLE();
  144. /* USER CODE BEGIN DMA2D_MspInit 1 */
  145. /* USER CODE END DMA2D_MspInit 1 */
  146. }
  147. }
  148. /**
  149. * @brief DMA2D MSP De-Initialization
  150. * This function freeze the hardware resources used in this example
  151. * @param hdma2d: DMA2D handle pointer
  152. * @retval None
  153. */
  154. void HAL_DMA2D_MspDeInit(DMA2D_HandleTypeDef* hdma2d)
  155. {
  156. if(hdma2d->Instance==DMA2D)
  157. {
  158. /* USER CODE BEGIN DMA2D_MspDeInit 0 */
  159. /* USER CODE END DMA2D_MspDeInit 0 */
  160. /* Peripheral clock disable */
  161. __HAL_RCC_DMA2D_CLK_DISABLE();
  162. /* USER CODE BEGIN DMA2D_MspDeInit 1 */
  163. /* USER CODE END DMA2D_MspDeInit 1 */
  164. }
  165. }
  166. /**
  167. * @brief ETH MSP Initialization
  168. * This function configures the hardware resources used in this example
  169. * @param heth: ETH handle pointer
  170. * @retval None
  171. */
  172. void HAL_ETH_MspInit(ETH_HandleTypeDef* heth)
  173. {
  174. GPIO_InitTypeDef GPIO_InitStruct = {0};
  175. if(heth->Instance==ETH)
  176. {
  177. /* USER CODE BEGIN ETH_MspInit 0 */
  178. /* USER CODE END ETH_MspInit 0 */
  179. /* Peripheral clock enable */
  180. __HAL_RCC_ETH_CLK_ENABLE();
  181. __HAL_RCC_GPIOC_CLK_ENABLE();
  182. __HAL_RCC_GPIOA_CLK_ENABLE();
  183. __HAL_RCC_GPIOB_CLK_ENABLE();
  184. __HAL_RCC_GPIOG_CLK_ENABLE();
  185. /**ETH GPIO Configuration
  186. PC1 ------> ETH_MDC
  187. PA1 ------> ETH_REF_CLK
  188. PA2 ------> ETH_MDIO
  189. PA7 ------> ETH_CRS_DV
  190. PC4 ------> ETH_RXD0
  191. PC5 ------> ETH_RXD1
  192. PB13 ------> ETH_TXD1
  193. PG11 ------> ETH_TX_EN
  194. PG13 ------> ETH_TXD0
  195. */
  196. GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5;
  197. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  198. GPIO_InitStruct.Pull = GPIO_NOPULL;
  199. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  200. GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
  201. HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
  202. GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_7;
  203. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  204. GPIO_InitStruct.Pull = GPIO_NOPULL;
  205. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  206. GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
  207. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  208. GPIO_InitStruct.Pin = GPIO_PIN_13;
  209. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  210. GPIO_InitStruct.Pull = GPIO_NOPULL;
  211. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  212. GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
  213. HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  214. GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_13;
  215. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  216. GPIO_InitStruct.Pull = GPIO_NOPULL;
  217. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  218. GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
  219. HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
  220. /* USER CODE BEGIN ETH_MspInit 1 */
  221. /* USER CODE END ETH_MspInit 1 */
  222. }
  223. }
  224. /**
  225. * @brief ETH MSP De-Initialization
  226. * This function freeze the hardware resources used in this example
  227. * @param heth: ETH handle pointer
  228. * @retval None
  229. */
  230. void HAL_ETH_MspDeInit(ETH_HandleTypeDef* heth)
  231. {
  232. if(heth->Instance==ETH)
  233. {
  234. /* USER CODE BEGIN ETH_MspDeInit 0 */
  235. /* USER CODE END ETH_MspDeInit 0 */
  236. /* Peripheral clock disable */
  237. __HAL_RCC_ETH_CLK_DISABLE();
  238. /**ETH GPIO Configuration
  239. PC1 ------> ETH_MDC
  240. PA1 ------> ETH_REF_CLK
  241. PA2 ------> ETH_MDIO
  242. PA7 ------> ETH_CRS_DV
  243. PC4 ------> ETH_RXD0
  244. PC5 ------> ETH_RXD1
  245. PB13 ------> ETH_TXD1
  246. PG11 ------> ETH_TX_EN
  247. PG13 ------> ETH_TXD0
  248. */
  249. HAL_GPIO_DeInit(GPIOC, GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5);
  250. HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_7);
  251. HAL_GPIO_DeInit(GPIOB, GPIO_PIN_13);
  252. HAL_GPIO_DeInit(GPIOG, GPIO_PIN_11|GPIO_PIN_13);
  253. /* USER CODE BEGIN ETH_MspDeInit 1 */
  254. /* USER CODE END ETH_MspDeInit 1 */
  255. }
  256. }
  257. /**
  258. * @brief LTDC MSP Initialization
  259. * This function configures the hardware resources used in this example
  260. * @param hltdc: LTDC handle pointer
  261. * @retval None
  262. */
  263. void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc)
  264. {
  265. GPIO_InitTypeDef GPIO_InitStruct = {0};
  266. if(hltdc->Instance==LTDC)
  267. {
  268. /* USER CODE BEGIN LTDC_MspInit 0 */
  269. /* USER CODE END LTDC_MspInit 0 */
  270. /* Peripheral clock enable */
  271. __HAL_RCC_LTDC_CLK_ENABLE();
  272. __HAL_RCC_GPIOI_CLK_ENABLE();
  273. __HAL_RCC_GPIOJ_CLK_ENABLE();
  274. __HAL_RCC_GPIOK_CLK_ENABLE();
  275. /**LTDC GPIO Configuration
  276. PI12 ------> LTDC_HSYNC
  277. PI13 ------> LTDC_VSYNC
  278. PI14 ------> LTDC_CLK
  279. PI15 ------> LTDC_R0
  280. PJ0 ------> LTDC_R1
  281. PJ1 ------> LTDC_R2
  282. PJ2 ------> LTDC_R3
  283. PJ3 ------> LTDC_R4
  284. PJ4 ------> LTDC_R5
  285. PJ5 ------> LTDC_R6
  286. PJ6 ------> LTDC_R7
  287. PJ7 ------> LTDC_G0
  288. PJ8 ------> LTDC_G1
  289. PJ9 ------> LTDC_G2
  290. PJ10 ------> LTDC_G3
  291. PJ11 ------> LTDC_G4
  292. PK0 ------> LTDC_G5
  293. PK1 ------> LTDC_G6
  294. PK2 ------> LTDC_G7
  295. PJ12 ------> LTDC_B0
  296. PJ13 ------> LTDC_B1
  297. PJ14 ------> LTDC_B2
  298. PJ15 ------> LTDC_B3
  299. PK3 ------> LTDC_B4
  300. PK4 ------> LTDC_B5
  301. PK5 ------> LTDC_B6
  302. PK6 ------> LTDC_B7
  303. PK7 ------> LTDC_DE
  304. */
  305. GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
  306. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  307. GPIO_InitStruct.Pull = GPIO_NOPULL;
  308. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  309. GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
  310. HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
  311. GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
  312. |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7
  313. |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
  314. |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
  315. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  316. GPIO_InitStruct.Pull = GPIO_NOPULL;
  317. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  318. GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
  319. HAL_GPIO_Init(GPIOJ, &GPIO_InitStruct);
  320. GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
  321. |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
  322. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  323. GPIO_InitStruct.Pull = GPIO_NOPULL;
  324. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  325. GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
  326. HAL_GPIO_Init(GPIOK, &GPIO_InitStruct);
  327. /* USER CODE BEGIN LTDC_MspInit 1 */
  328. /* USER CODE END LTDC_MspInit 1 */
  329. }
  330. }
  331. /**
  332. * @brief LTDC MSP De-Initialization
  333. * This function freeze the hardware resources used in this example
  334. * @param hltdc: LTDC handle pointer
  335. * @retval None
  336. */
  337. void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef* hltdc)
  338. {
  339. if(hltdc->Instance==LTDC)
  340. {
  341. /* USER CODE BEGIN LTDC_MspDeInit 0 */
  342. /* USER CODE END LTDC_MspDeInit 0 */
  343. /* Peripheral clock disable */
  344. __HAL_RCC_LTDC_CLK_DISABLE();
  345. /**LTDC GPIO Configuration
  346. PI12 ------> LTDC_HSYNC
  347. PI13 ------> LTDC_VSYNC
  348. PI14 ------> LTDC_CLK
  349. PI15 ------> LTDC_R0
  350. PJ0 ------> LTDC_R1
  351. PJ1 ------> LTDC_R2
  352. PJ2 ------> LTDC_R3
  353. PJ3 ------> LTDC_R4
  354. PJ4 ------> LTDC_R5
  355. PJ5 ------> LTDC_R6
  356. PJ6 ------> LTDC_R7
  357. PJ7 ------> LTDC_G0
  358. PJ8 ------> LTDC_G1
  359. PJ9 ------> LTDC_G2
  360. PJ10 ------> LTDC_G3
  361. PJ11 ------> LTDC_G4
  362. PK0 ------> LTDC_G5
  363. PK1 ------> LTDC_G6
  364. PK2 ------> LTDC_G7
  365. PJ12 ------> LTDC_B0
  366. PJ13 ------> LTDC_B1
  367. PJ14 ------> LTDC_B2
  368. PJ15 ------> LTDC_B3
  369. PK3 ------> LTDC_B4
  370. PK4 ------> LTDC_B5
  371. PK5 ------> LTDC_B6
  372. PK6 ------> LTDC_B7
  373. PK7 ------> LTDC_DE
  374. */
  375. HAL_GPIO_DeInit(GPIOI, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
  376. HAL_GPIO_DeInit(GPIOJ, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
  377. |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7
  378. |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
  379. |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
  380. HAL_GPIO_DeInit(GPIOK, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
  381. |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
  382. /* USER CODE BEGIN LTDC_MspDeInit 1 */
  383. /* USER CODE END LTDC_MspDeInit 1 */
  384. }
  385. }
  386. /**
  387. * @brief RTC MSP Initialization
  388. * This function configures the hardware resources used in this example
  389. * @param hrtc: RTC handle pointer
  390. * @retval None
  391. */
  392. void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
  393. {
  394. if(hrtc->Instance==RTC)
  395. {
  396. /* USER CODE BEGIN RTC_MspInit 0 */
  397. /* USER CODE END RTC_MspInit 0 */
  398. /* Peripheral clock enable */
  399. __HAL_RCC_RTC_ENABLE();
  400. /* USER CODE BEGIN RTC_MspInit 1 */
  401. /* USER CODE END RTC_MspInit 1 */
  402. }
  403. }
  404. /**
  405. * @brief RTC MSP De-Initialization
  406. * This function freeze the hardware resources used in this example
  407. * @param hrtc: RTC handle pointer
  408. * @retval None
  409. */
  410. void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
  411. {
  412. if(hrtc->Instance==RTC)
  413. {
  414. /* USER CODE BEGIN RTC_MspDeInit 0 */
  415. /* USER CODE END RTC_MspDeInit 0 */
  416. /* Peripheral clock disable */
  417. __HAL_RCC_RTC_DISABLE();
  418. /* USER CODE BEGIN RTC_MspDeInit 1 */
  419. /* USER CODE END RTC_MspDeInit 1 */
  420. }
  421. }
  422. /**
  423. * @brief SD MSP Initialization
  424. * This function configures the hardware resources used in this example
  425. * @param hsd: SD handle pointer
  426. * @retval None
  427. */
  428. void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
  429. {
  430. GPIO_InitTypeDef GPIO_InitStruct = {0};
  431. if(hsd->Instance==SDIO)
  432. {
  433. /* USER CODE BEGIN SDIO_MspInit 0 */
  434. /* USER CODE END SDIO_MspInit 0 */
  435. /* Peripheral clock enable */
  436. __HAL_RCC_SDIO_CLK_ENABLE();
  437. __HAL_RCC_GPIOC_CLK_ENABLE();
  438. __HAL_RCC_GPIOD_CLK_ENABLE();
  439. /**SDIO GPIO Configuration
  440. PC8 ------> SDIO_D0
  441. PC9 ------> SDIO_D1
  442. PC10 ------> SDIO_D2
  443. PC11 ------> SDIO_D3
  444. PC12 ------> SDIO_CK
  445. PD2 ------> SDIO_CMD
  446. */
  447. GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
  448. |GPIO_PIN_12;
  449. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  450. GPIO_InitStruct.Pull = GPIO_NOPULL;
  451. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  452. GPIO_InitStruct.Alternate = GPIO_AF12_SDIO;
  453. HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
  454. GPIO_InitStruct.Pin = GPIO_PIN_2;
  455. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  456. GPIO_InitStruct.Pull = GPIO_NOPULL;
  457. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  458. GPIO_InitStruct.Alternate = GPIO_AF12_SDIO;
  459. HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
  460. /* USER CODE BEGIN SDIO_MspInit 1 */
  461. /* USER CODE END SDIO_MspInit 1 */
  462. }
  463. }
  464. /**
  465. * @brief SD MSP De-Initialization
  466. * This function freeze the hardware resources used in this example
  467. * @param hsd: SD handle pointer
  468. * @retval None
  469. */
  470. void HAL_SD_MspDeInit(SD_HandleTypeDef* hsd)
  471. {
  472. if(hsd->Instance==SDIO)
  473. {
  474. /* USER CODE BEGIN SDIO_MspDeInit 0 */
  475. /* USER CODE END SDIO_MspDeInit 0 */
  476. /* Peripheral clock disable */
  477. __HAL_RCC_SDIO_CLK_DISABLE();
  478. /**SDIO GPIO Configuration
  479. PC8 ------> SDIO_D0
  480. PC9 ------> SDIO_D1
  481. PC10 ------> SDIO_D2
  482. PC11 ------> SDIO_D3
  483. PC12 ------> SDIO_CK
  484. PD2 ------> SDIO_CMD
  485. */
  486. HAL_GPIO_DeInit(GPIOC, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
  487. |GPIO_PIN_12);
  488. HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2);
  489. /* USER CODE BEGIN SDIO_MspDeInit 1 */
  490. /* USER CODE END SDIO_MspDeInit 1 */
  491. }
  492. }
  493. /**
  494. * @brief SPI MSP Initialization
  495. * This function configures the hardware resources used in this example
  496. * @param hspi: SPI handle pointer
  497. * @retval None
  498. */
  499. void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
  500. {
  501. GPIO_InitTypeDef GPIO_InitStruct = {0};
  502. if(hspi->Instance==SPI3)
  503. {
  504. /* USER CODE BEGIN SPI3_MspInit 0 */
  505. /* USER CODE END SPI3_MspInit 0 */
  506. /* Peripheral clock enable */
  507. __HAL_RCC_SPI3_CLK_ENABLE();
  508. __HAL_RCC_GPIOB_CLK_ENABLE();
  509. /**SPI3 GPIO Configuration
  510. PB3 ------> SPI3_SCK
  511. PB4 ------> SPI3_MISO
  512. PB5 ------> SPI3_MOSI
  513. */
  514. GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5;
  515. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  516. GPIO_InitStruct.Pull = GPIO_NOPULL;
  517. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  518. GPIO_InitStruct.Alternate = GPIO_AF6_SPI3;
  519. HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  520. /* USER CODE BEGIN SPI3_MspInit 1 */
  521. /* USER CODE END SPI3_MspInit 1 */
  522. }
  523. }
  524. /**
  525. * @brief SPI MSP De-Initialization
  526. * This function freeze the hardware resources used in this example
  527. * @param hspi: SPI handle pointer
  528. * @retval None
  529. */
  530. void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
  531. {
  532. if(hspi->Instance==SPI3)
  533. {
  534. /* USER CODE BEGIN SPI3_MspDeInit 0 */
  535. /* USER CODE END SPI3_MspDeInit 0 */
  536. /* Peripheral clock disable */
  537. __HAL_RCC_SPI3_CLK_DISABLE();
  538. /**SPI3 GPIO Configuration
  539. PB3 ------> SPI3_SCK
  540. PB4 ------> SPI3_MISO
  541. PB5 ------> SPI3_MOSI
  542. */
  543. HAL_GPIO_DeInit(GPIOB, GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5);
  544. /* USER CODE BEGIN SPI3_MspDeInit 1 */
  545. /* USER CODE END SPI3_MspDeInit 1 */
  546. }
  547. }
  548. /**
  549. * @brief TIM_Base MSP Initialization
  550. * This function configures the hardware resources used in this example
  551. * @param htim_base: TIM_Base handle pointer
  552. * @retval None
  553. */
  554. void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
  555. {
  556. if(htim_base->Instance==TIM2)
  557. {
  558. /* USER CODE BEGIN TIM2_MspInit 0 */
  559. /* USER CODE END TIM2_MspInit 0 */
  560. /* Peripheral clock enable */
  561. __HAL_RCC_TIM2_CLK_ENABLE();
  562. /* USER CODE BEGIN TIM2_MspInit 1 */
  563. /* USER CODE END TIM2_MspInit 1 */
  564. }
  565. else if(htim_base->Instance==TIM11)
  566. {
  567. /* USER CODE BEGIN TIM11_MspInit 0 */
  568. /* USER CODE END TIM11_MspInit 0 */
  569. /* Peripheral clock enable */
  570. __HAL_RCC_TIM11_CLK_ENABLE();
  571. /* USER CODE BEGIN TIM11_MspInit 1 */
  572. /* USER CODE END TIM11_MspInit 1 */
  573. }
  574. else if(htim_base->Instance==TIM13)
  575. {
  576. /* USER CODE BEGIN TIM13_MspInit 0 */
  577. /* USER CODE END TIM13_MspInit 0 */
  578. /* Peripheral clock enable */
  579. __HAL_RCC_TIM13_CLK_ENABLE();
  580. /* USER CODE BEGIN TIM13_MspInit 1 */
  581. /* USER CODE END TIM13_MspInit 1 */
  582. }
  583. else if(htim_base->Instance==TIM14)
  584. {
  585. /* USER CODE BEGIN TIM14_MspInit 0 */
  586. /* USER CODE END TIM14_MspInit 0 */
  587. /* Peripheral clock enable */
  588. __HAL_RCC_TIM14_CLK_ENABLE();
  589. /* USER CODE BEGIN TIM14_MspInit 1 */
  590. /* USER CODE END TIM14_MspInit 1 */
  591. }
  592. }
  593. void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
  594. {
  595. GPIO_InitTypeDef GPIO_InitStruct = {0};
  596. if(htim->Instance==TIM2)
  597. {
  598. /* USER CODE BEGIN TIM2_MspPostInit 0 */
  599. /* USER CODE END TIM2_MspPostInit 0 */
  600. __HAL_RCC_GPIOA_CLK_ENABLE();
  601. /**TIM2 GPIO Configuration
  602. PA0/WKUP ------> TIM2_CH1
  603. */
  604. GPIO_InitStruct.Pin = GPIO_PIN_0;
  605. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  606. GPIO_InitStruct.Pull = GPIO_NOPULL;
  607. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  608. GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;
  609. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  610. /* USER CODE BEGIN TIM2_MspPostInit 1 */
  611. /* USER CODE END TIM2_MspPostInit 1 */
  612. }
  613. }
  614. /**
  615. * @brief TIM_Base MSP De-Initialization
  616. * This function freeze the hardware resources used in this example
  617. * @param htim_base: TIM_Base handle pointer
  618. * @retval None
  619. */
  620. void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
  621. {
  622. if(htim_base->Instance==TIM2)
  623. {
  624. /* USER CODE BEGIN TIM2_MspDeInit 0 */
  625. /* USER CODE END TIM2_MspDeInit 0 */
  626. /* Peripheral clock disable */
  627. __HAL_RCC_TIM2_CLK_DISABLE();
  628. /* USER CODE BEGIN TIM2_MspDeInit 1 */
  629. /* USER CODE END TIM2_MspDeInit 1 */
  630. }
  631. else if(htim_base->Instance==TIM11)
  632. {
  633. /* USER CODE BEGIN TIM11_MspDeInit 0 */
  634. /* USER CODE END TIM11_MspDeInit 0 */
  635. /* Peripheral clock disable */
  636. __HAL_RCC_TIM11_CLK_DISABLE();
  637. /* USER CODE BEGIN TIM11_MspDeInit 1 */
  638. /* USER CODE END TIM11_MspDeInit 1 */
  639. }
  640. else if(htim_base->Instance==TIM13)
  641. {
  642. /* USER CODE BEGIN TIM13_MspDeInit 0 */
  643. /* USER CODE END TIM13_MspDeInit 0 */
  644. /* Peripheral clock disable */
  645. __HAL_RCC_TIM13_CLK_DISABLE();
  646. /* USER CODE BEGIN TIM13_MspDeInit 1 */
  647. /* USER CODE END TIM13_MspDeInit 1 */
  648. }
  649. else if(htim_base->Instance==TIM14)
  650. {
  651. /* USER CODE BEGIN TIM14_MspDeInit 0 */
  652. /* USER CODE END TIM14_MspDeInit 0 */
  653. /* Peripheral clock disable */
  654. __HAL_RCC_TIM14_CLK_DISABLE();
  655. /* USER CODE BEGIN TIM14_MspDeInit 1 */
  656. /* USER CODE END TIM14_MspDeInit 1 */
  657. }
  658. }
  659. /**
  660. * @brief UART MSP Initialization
  661. * This function configures the hardware resources used in this example
  662. * @param huart: UART handle pointer
  663. * @retval None
  664. */
  665. void HAL_UART_MspInit(UART_HandleTypeDef* huart)
  666. {
  667. GPIO_InitTypeDef GPIO_InitStruct = {0};
  668. if(huart->Instance==USART1)
  669. {
  670. /* USER CODE BEGIN USART1_MspInit 0 */
  671. /* USER CODE END USART1_MspInit 0 */
  672. /* Peripheral clock enable */
  673. __HAL_RCC_USART1_CLK_ENABLE();
  674. __HAL_RCC_GPIOA_CLK_ENABLE();
  675. /**USART1 GPIO Configuration
  676. PA9 ------> USART1_TX
  677. PA10 ------> USART1_RX
  678. */
  679. GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;
  680. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  681. GPIO_InitStruct.Pull = GPIO_PULLUP;
  682. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  683. GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
  684. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  685. /* USART1 interrupt Init */
  686. HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
  687. HAL_NVIC_EnableIRQ(USART1_IRQn);
  688. /* USER CODE BEGIN USART1_MspInit 1 */
  689. /* USER CODE END USART1_MspInit 1 */
  690. }
  691. }
  692. /**
  693. * @brief UART MSP De-Initialization
  694. * This function freeze the hardware resources used in this example
  695. * @param huart: UART handle pointer
  696. * @retval None
  697. */
  698. void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
  699. {
  700. if(huart->Instance==USART1)
  701. {
  702. /* USER CODE BEGIN USART1_MspDeInit 0 */
  703. /* USER CODE END USART1_MspDeInit 0 */
  704. /* Peripheral clock disable */
  705. __HAL_RCC_USART1_CLK_DISABLE();
  706. /**USART1 GPIO Configuration
  707. PA9 ------> USART1_TX
  708. PA10 ------> USART1_RX
  709. */
  710. HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
  711. /* USART1 interrupt DeInit */
  712. HAL_NVIC_DisableIRQ(USART1_IRQn);
  713. /* USER CODE BEGIN USART1_MspDeInit 1 */
  714. /* USER CODE END USART1_MspDeInit 1 */
  715. }
  716. }
  717. static uint32_t FMC_Initialized = 0;
  718. static void HAL_FMC_MspInit(void){
  719. /* USER CODE BEGIN FMC_MspInit 0 */
  720. /* USER CODE END FMC_MspInit 0 */
  721. GPIO_InitTypeDef GPIO_InitStruct;
  722. if (FMC_Initialized) {
  723. return;
  724. }
  725. FMC_Initialized = 1;
  726. /* Peripheral clock enable */
  727. __HAL_RCC_FMC_CLK_ENABLE();
  728. /** FMC GPIO Configuration
  729. PI9 ------> FMC_D30
  730. PI10 ------> FMC_D31
  731. PF0 ------> FMC_A0
  732. PF1 ------> FMC_A1
  733. PF2 ------> FMC_A2
  734. PF3 ------> FMC_A3
  735. PF4 ------> FMC_A4
  736. PF5 ------> FMC_A5
  737. PH2 ------> FMC_SDCKE0
  738. PH3 ------> FMC_SDNE0
  739. PH5 ------> FMC_SDNWE
  740. PF11 ------> FMC_SDNRAS
  741. PF12 ------> FMC_A6
  742. PF13 ------> FMC_A7
  743. PF14 ------> FMC_A8
  744. PF15 ------> FMC_A9
  745. PG0 ------> FMC_A10
  746. PG1 ------> FMC_A11
  747. PE7 ------> FMC_D4
  748. PE8 ------> FMC_D5
  749. PE9 ------> FMC_D6
  750. PE10 ------> FMC_D7
  751. PE11 ------> FMC_D8
  752. PE12 ------> FMC_D9
  753. PE13 ------> FMC_D10
  754. PE14 ------> FMC_D11
  755. PE15 ------> FMC_D12
  756. PH8 ------> FMC_D16
  757. PH9 ------> FMC_D17
  758. PH10 ------> FMC_D18
  759. PH11 ------> FMC_D19
  760. PH12 ------> FMC_D20
  761. PD8 ------> FMC_D13
  762. PD9 ------> FMC_D14
  763. PD10 ------> FMC_D15
  764. PD14 ------> FMC_D0
  765. PD15 ------> FMC_D1
  766. PG4 ------> FMC_BA0
  767. PG5 ------> FMC_BA1
  768. PG8 ------> FMC_SDCLK
  769. PH13 ------> FMC_D21
  770. PH14 ------> FMC_D22
  771. PH15 ------> FMC_D23
  772. PI0 ------> FMC_D24
  773. PI1 ------> FMC_D25
  774. PI2 ------> FMC_D26
  775. PI3 ------> FMC_D27
  776. PD0 ------> FMC_D2
  777. PD1 ------> FMC_D3
  778. PD4 ------> FMC_NOE
  779. PD5 ------> FMC_NWE
  780. PG9 ------> FMC_NE2
  781. PG15 ------> FMC_SDNCAS
  782. PE0 ------> FMC_NBL0
  783. PE1 ------> FMC_NBL1
  784. PI4 ------> FMC_NBL2
  785. PI5 ------> FMC_NBL3
  786. PI6 ------> FMC_D28
  787. PI7 ------> FMC_D29
  788. */
  789. GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_0|GPIO_PIN_1
  790. |GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5
  791. |GPIO_PIN_6|GPIO_PIN_7;
  792. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  793. GPIO_InitStruct.Pull = GPIO_NOPULL;
  794. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  795. GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
  796. HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
  797. GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
  798. |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_11|GPIO_PIN_12
  799. |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
  800. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  801. GPIO_InitStruct.Pull = GPIO_NOPULL;
  802. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  803. GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
  804. HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
  805. GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_5|GPIO_PIN_8
  806. |GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12
  807. |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
  808. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  809. GPIO_InitStruct.Pull = GPIO_NOPULL;
  810. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  811. GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
  812. HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
  813. GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5
  814. |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_15;
  815. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  816. GPIO_InitStruct.Pull = GPIO_NOPULL;
  817. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  818. GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
  819. HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
  820. GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10
  821. |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
  822. |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1;
  823. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  824. GPIO_InitStruct.Pull = GPIO_NOPULL;
  825. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  826. GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
  827. HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
  828. GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_14
  829. |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4
  830. |GPIO_PIN_5;
  831. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  832. GPIO_InitStruct.Pull = GPIO_NOPULL;
  833. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  834. GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
  835. HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
  836. /* USER CODE BEGIN FMC_MspInit 1 */
  837. /* USER CODE END FMC_MspInit 1 */
  838. }
  839. void HAL_SRAM_MspInit(SRAM_HandleTypeDef* hsram){
  840. /* USER CODE BEGIN SRAM_MspInit 0 */
  841. /* USER CODE END SRAM_MspInit 0 */
  842. HAL_FMC_MspInit();
  843. /* USER CODE BEGIN SRAM_MspInit 1 */
  844. /* USER CODE END SRAM_MspInit 1 */
  845. }
  846. void HAL_SDRAM_MspInit(SDRAM_HandleTypeDef* hsdram){
  847. /* USER CODE BEGIN SDRAM_MspInit 0 */
  848. /* USER CODE END SDRAM_MspInit 0 */
  849. HAL_FMC_MspInit();
  850. /* USER CODE BEGIN SDRAM_MspInit 1 */
  851. /* USER CODE END SDRAM_MspInit 1 */
  852. }
  853. static uint32_t FMC_DeInitialized = 0;
  854. static void HAL_FMC_MspDeInit(void){
  855. /* USER CODE BEGIN FMC_MspDeInit 0 */
  856. /* USER CODE END FMC_MspDeInit 0 */
  857. if (FMC_DeInitialized) {
  858. return;
  859. }
  860. FMC_DeInitialized = 1;
  861. /* Peripheral clock enable */
  862. __HAL_RCC_FMC_CLK_DISABLE();
  863. /** FMC GPIO Configuration
  864. PI9 ------> FMC_D30
  865. PI10 ------> FMC_D31
  866. PF0 ------> FMC_A0
  867. PF1 ------> FMC_A1
  868. PF2 ------> FMC_A2
  869. PF3 ------> FMC_A3
  870. PF4 ------> FMC_A4
  871. PF5 ------> FMC_A5
  872. PH2 ------> FMC_SDCKE0
  873. PH3 ------> FMC_SDNE0
  874. PH5 ------> FMC_SDNWE
  875. PF11 ------> FMC_SDNRAS
  876. PF12 ------> FMC_A6
  877. PF13 ------> FMC_A7
  878. PF14 ------> FMC_A8
  879. PF15 ------> FMC_A9
  880. PG0 ------> FMC_A10
  881. PG1 ------> FMC_A11
  882. PE7 ------> FMC_D4
  883. PE8 ------> FMC_D5
  884. PE9 ------> FMC_D6
  885. PE10 ------> FMC_D7
  886. PE11 ------> FMC_D8
  887. PE12 ------> FMC_D9
  888. PE13 ------> FMC_D10
  889. PE14 ------> FMC_D11
  890. PE15 ------> FMC_D12
  891. PH8 ------> FMC_D16
  892. PH9 ------> FMC_D17
  893. PH10 ------> FMC_D18
  894. PH11 ------> FMC_D19
  895. PH12 ------> FMC_D20
  896. PD8 ------> FMC_D13
  897. PD9 ------> FMC_D14
  898. PD10 ------> FMC_D15
  899. PD14 ------> FMC_D0
  900. PD15 ------> FMC_D1
  901. PG4 ------> FMC_BA0
  902. PG5 ------> FMC_BA1
  903. PG8 ------> FMC_SDCLK
  904. PH13 ------> FMC_D21
  905. PH14 ------> FMC_D22
  906. PH15 ------> FMC_D23
  907. PI0 ------> FMC_D24
  908. PI1 ------> FMC_D25
  909. PI2 ------> FMC_D26
  910. PI3 ------> FMC_D27
  911. PD0 ------> FMC_D2
  912. PD1 ------> FMC_D3
  913. PD4 ------> FMC_NOE
  914. PD5 ------> FMC_NWE
  915. PG9 ------> FMC_NE2
  916. PG15 ------> FMC_SDNCAS
  917. PE0 ------> FMC_NBL0
  918. PE1 ------> FMC_NBL1
  919. PI4 ------> FMC_NBL2
  920. PI5 ------> FMC_NBL3
  921. PI6 ------> FMC_D28
  922. PI7 ------> FMC_D29
  923. */
  924. HAL_GPIO_DeInit(GPIOI, GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_0|GPIO_PIN_1
  925. |GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5
  926. |GPIO_PIN_6|GPIO_PIN_7);
  927. HAL_GPIO_DeInit(GPIOF, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
  928. |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_11|GPIO_PIN_12
  929. |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
  930. HAL_GPIO_DeInit(GPIOH, GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_5|GPIO_PIN_8
  931. |GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12
  932. |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
  933. HAL_GPIO_DeInit(GPIOG, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5
  934. |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_15);
  935. HAL_GPIO_DeInit(GPIOE, GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10
  936. |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
  937. |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1);
  938. HAL_GPIO_DeInit(GPIOD, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_14
  939. |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4
  940. |GPIO_PIN_5);
  941. /* USER CODE BEGIN FMC_MspDeInit 1 */
  942. /* USER CODE END FMC_MspDeInit 1 */
  943. }
  944. void HAL_SRAM_MspDeInit(SRAM_HandleTypeDef* hsram){
  945. /* USER CODE BEGIN SRAM_MspDeInit 0 */
  946. /* USER CODE END SRAM_MspDeInit 0 */
  947. HAL_FMC_MspDeInit();
  948. /* USER CODE BEGIN SRAM_MspDeInit 1 */
  949. /* USER CODE END SRAM_MspDeInit 1 */
  950. }
  951. void HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef* hsdram){
  952. /* USER CODE BEGIN SDRAM_MspDeInit 0 */
  953. /* USER CODE END SDRAM_MspDeInit 0 */
  954. HAL_FMC_MspDeInit();
  955. /* USER CODE BEGIN SDRAM_MspDeInit 1 */
  956. /* USER CODE END SDRAM_MspDeInit 1 */
  957. }
  958. /* USER CODE BEGIN 1 */
  959. /* USER CODE END 1 */
  960. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/