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 * @attention
9 *
10 * <h2><center>© 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
22 /* Includes ------------------------------------------------------------------*/
23 #include "main.h"
24 /* USER CODE BEGIN Includes */
25 #include <drv_common.h>
26 /* USER CODE END Includes */
27
28 /* Private typedef -----------------------------------------------------------*/
29 /* USER CODE BEGIN TD */
30
31 /* USER CODE END TD */
32
33 /* Private define ------------------------------------------------------------*/
34 /* USER CODE BEGIN Define */
35
36 /* USER CODE END Define */
37
38 /* Private macro -------------------------------------------------------------*/
39 /* USER CODE BEGIN Macro */
40
41 /* USER CODE END Macro */
42
43 /* Private variables ---------------------------------------------------------*/
44 /* USER CODE BEGIN PV */
45
46 /* USER CODE END PV */
47
48 /* Private function prototypes -----------------------------------------------*/
49 /* USER CODE BEGIN PFP */
50
51 /* USER CODE END PFP */
52
53 /* External functions --------------------------------------------------------*/
54 /* USER CODE BEGIN ExternalFunctions */
55
56 /* USER CODE END ExternalFunctions */
57
58 /* USER CODE BEGIN 0 */
59
60 /* USER CODE END 0 */
61
62 void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
63 /**
64 * Initializes the Global MSP.
65 */
HAL_MspInit(void)66 void HAL_MspInit(void)
67 {
68 /* USER CODE BEGIN MspInit 0 */
69
70 /* USER CODE END MspInit 0 */
71
72 __HAL_RCC_SYSCFG_CLK_ENABLE();
73 __HAL_RCC_PWR_CLK_ENABLE();
74
75 /* System interrupt init*/
76
77 /* USER CODE BEGIN MspInit 1 */
78
79 /* USER CODE END MspInit 1 */
80 }
81
82 /**
83 * @brief ADC MSP Initialization
84 * This function configures the hardware resources used in this example
85 * @param hadc: ADC handle pointer
86 * @retval None
87 */
HAL_ADC_MspInit(ADC_HandleTypeDef * hadc)88 void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
89 {
90 GPIO_InitTypeDef GPIO_InitStruct = {0};
91 if(hadc->Instance==ADC1)
92 {
93 /* USER CODE BEGIN ADC1_MspInit 0 */
94
95 /* USER CODE END ADC1_MspInit 0 */
96 /* Peripheral clock enable */
97 __HAL_RCC_ADC1_CLK_ENABLE();
98
99 __HAL_RCC_GPIOC_CLK_ENABLE();
100 __HAL_RCC_GPIOA_CLK_ENABLE();
101 __HAL_RCC_GPIOB_CLK_ENABLE();
102 /**ADC1 GPIO Configuration
103 PC3 ------> ADC1_IN13
104 PC2 ------> ADC1_IN12
105 PA4 ------> ADC1_IN4
106 PC4 ------> ADC1_IN14
107 PC5 ------> ADC1_IN15
108 PB1 ------> ADC1_IN9
109 */
110 GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_2|GPIO_PIN_4|GPIO_PIN_5;
111 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
112 GPIO_InitStruct.Pull = GPIO_NOPULL;
113 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
114
115 GPIO_InitStruct.Pin = GPIO_PIN_4;
116 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
117 GPIO_InitStruct.Pull = GPIO_NOPULL;
118 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
119
120 GPIO_InitStruct.Pin = GPIO_PIN_1;
121 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
122 GPIO_InitStruct.Pull = GPIO_NOPULL;
123 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
124
125 /* USER CODE BEGIN ADC1_MspInit 1 */
126
127 /* USER CODE END ADC1_MspInit 1 */
128 }
129
130 }
131
132 /**
133 * @brief ADC MSP De-Initialization
134 * This function freeze the hardware resources used in this example
135 * @param hadc: ADC handle pointer
136 * @retval None
137 */
HAL_ADC_MspDeInit(ADC_HandleTypeDef * hadc)138 void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
139 {
140 if(hadc->Instance==ADC1)
141 {
142 /* USER CODE BEGIN ADC1_MspDeInit 0 */
143
144 /* USER CODE END ADC1_MspDeInit 0 */
145 /* Peripheral clock disable */
146 __HAL_RCC_ADC1_CLK_DISABLE();
147
148 /**ADC1 GPIO Configuration
149 PC3 ------> ADC1_IN13
150 PC2 ------> ADC1_IN12
151 PA4 ------> ADC1_IN4
152 PC4 ------> ADC1_IN14
153 PC5 ------> ADC1_IN15
154 PB1 ------> ADC1_IN9
155 */
156 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_3|GPIO_PIN_2|GPIO_PIN_4|GPIO_PIN_5);
157
158 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_4);
159
160 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_1);
161
162 /* USER CODE BEGIN ADC1_MspDeInit 1 */
163
164 /* USER CODE END ADC1_MspDeInit 1 */
165 }
166
167 }
168
169 /**
170 * @brief CRC MSP Initialization
171 * This function configures the hardware resources used in this example
172 * @param hcrc: CRC handle pointer
173 * @retval None
174 */
HAL_CRC_MspInit(CRC_HandleTypeDef * hcrc)175 void HAL_CRC_MspInit(CRC_HandleTypeDef* hcrc)
176 {
177 if(hcrc->Instance==CRC)
178 {
179 /* USER CODE BEGIN CRC_MspInit 0 */
180
181 /* USER CODE END CRC_MspInit 0 */
182 /* Peripheral clock enable */
183 __HAL_RCC_CRC_CLK_ENABLE();
184 /* USER CODE BEGIN CRC_MspInit 1 */
185
186 /* USER CODE END CRC_MspInit 1 */
187 }
188
189 }
190
191 /**
192 * @brief CRC MSP De-Initialization
193 * This function freeze the hardware resources used in this example
194 * @param hcrc: CRC handle pointer
195 * @retval None
196 */
HAL_CRC_MspDeInit(CRC_HandleTypeDef * hcrc)197 void HAL_CRC_MspDeInit(CRC_HandleTypeDef* hcrc)
198 {
199 if(hcrc->Instance==CRC)
200 {
201 /* USER CODE BEGIN CRC_MspDeInit 0 */
202
203 /* USER CODE END CRC_MspDeInit 0 */
204 /* Peripheral clock disable */
205 __HAL_RCC_CRC_CLK_DISABLE();
206 /* USER CODE BEGIN CRC_MspDeInit 1 */
207
208 /* USER CODE END CRC_MspDeInit 1 */
209 }
210
211 }
212
213 /**
214 * @brief DMA2D MSP Initialization
215 * This function configures the hardware resources used in this example
216 * @param hdma2d: DMA2D handle pointer
217 * @retval None
218 */
HAL_DMA2D_MspInit(DMA2D_HandleTypeDef * hdma2d)219 void HAL_DMA2D_MspInit(DMA2D_HandleTypeDef* hdma2d)
220 {
221 if(hdma2d->Instance==DMA2D)
222 {
223 /* USER CODE BEGIN DMA2D_MspInit 0 */
224
225 /* USER CODE END DMA2D_MspInit 0 */
226 /* Peripheral clock enable */
227 __HAL_RCC_DMA2D_CLK_ENABLE();
228 /* USER CODE BEGIN DMA2D_MspInit 1 */
229
230 /* USER CODE END DMA2D_MspInit 1 */
231 }
232
233 }
234
235 /**
236 * @brief DMA2D MSP De-Initialization
237 * This function freeze the hardware resources used in this example
238 * @param hdma2d: DMA2D handle pointer
239 * @retval None
240 */
HAL_DMA2D_MspDeInit(DMA2D_HandleTypeDef * hdma2d)241 void HAL_DMA2D_MspDeInit(DMA2D_HandleTypeDef* hdma2d)
242 {
243 if(hdma2d->Instance==DMA2D)
244 {
245 /* USER CODE BEGIN DMA2D_MspDeInit 0 */
246
247 /* USER CODE END DMA2D_MspDeInit 0 */
248 /* Peripheral clock disable */
249 __HAL_RCC_DMA2D_CLK_DISABLE();
250 /* USER CODE BEGIN DMA2D_MspDeInit 1 */
251
252 /* USER CODE END DMA2D_MspDeInit 1 */
253 }
254
255 }
256
257 /**
258 * @brief DSI MSP Initialization
259 * This function configures the hardware resources used in this example
260 * @param hdsi: DSI handle pointer
261 * @retval None
262 */
HAL_DSI_MspInit(DSI_HandleTypeDef * hdsi)263 void HAL_DSI_MspInit(DSI_HandleTypeDef* hdsi)
264 {
265 if(hdsi->Instance==DSI)
266 {
267 /* USER CODE BEGIN DSI_MspInit 0 */
268
269 /* USER CODE END DSI_MspInit 0 */
270 /* Peripheral clock enable */
271 __HAL_RCC_DSI_CLK_ENABLE();
272 /* USER CODE BEGIN DSI_MspInit 1 */
273
274 /* USER CODE END DSI_MspInit 1 */
275 }
276
277 }
278
279 /**
280 * @brief DSI MSP De-Initialization
281 * This function freeze the hardware resources used in this example
282 * @param hdsi: DSI handle pointer
283 * @retval None
284 */
HAL_DSI_MspDeInit(DSI_HandleTypeDef * hdsi)285 void HAL_DSI_MspDeInit(DSI_HandleTypeDef* hdsi)
286 {
287 if(hdsi->Instance==DSI)
288 {
289 /* USER CODE BEGIN DSI_MspDeInit 0 */
290
291 /* USER CODE END DSI_MspDeInit 0 */
292 /* Peripheral clock disable */
293 __HAL_RCC_DSI_CLK_DISABLE();
294 /* USER CODE BEGIN DSI_MspDeInit 1 */
295
296 /* USER CODE END DSI_MspDeInit 1 */
297 }
298
299 }
300
301 /**
302 * @brief I2S MSP Initialization
303 * This function configures the hardware resources used in this example
304 * @param hi2s: I2S handle pointer
305 * @retval None
306 */
HAL_I2S_MspInit(I2S_HandleTypeDef * hi2s)307 void HAL_I2S_MspInit(I2S_HandleTypeDef* hi2s)
308 {
309 GPIO_InitTypeDef GPIO_InitStruct = {0};
310 if(hi2s->Instance==SPI3)
311 {
312 /* USER CODE BEGIN SPI3_MspInit 0 */
313
314 /* USER CODE END SPI3_MspInit 0 */
315 /* Peripheral clock enable */
316 __HAL_RCC_SPI3_CLK_ENABLE();
317
318 __HAL_RCC_GPIOB_CLK_ENABLE();
319 __HAL_RCC_GPIOA_CLK_ENABLE();
320 __HAL_RCC_GPIOD_CLK_ENABLE();
321 /**I2S3 GPIO Configuration
322 PB3 ------> I2S3_CK
323 PA15 ------> I2S3_WS
324 PD6 ------> I2S3_SD
325 */
326 GPIO_InitStruct.Pin = GPIO_PIN_3;
327 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
328 GPIO_InitStruct.Pull = GPIO_NOPULL;
329 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
330 GPIO_InitStruct.Alternate = GPIO_AF6_SPI3;
331 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
332
333 GPIO_InitStruct.Pin = GPIO_PIN_15;
334 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
335 GPIO_InitStruct.Pull = GPIO_NOPULL;
336 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
337 GPIO_InitStruct.Alternate = GPIO_AF6_SPI3;
338 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
339
340 GPIO_InitStruct.Pin = GPIO_PIN_6;
341 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
342 GPIO_InitStruct.Pull = GPIO_NOPULL;
343 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
344 GPIO_InitStruct.Alternate = GPIO_AF5_I2S3ext;
345 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
346
347 /* I2S3 interrupt Init */
348 HAL_NVIC_SetPriority(SPI3_IRQn, 0, 0);
349 HAL_NVIC_EnableIRQ(SPI3_IRQn);
350 /* USER CODE BEGIN SPI3_MspInit 1 */
351
352 /* USER CODE END SPI3_MspInit 1 */
353 }
354
355 }
356
357 /**
358 * @brief I2S MSP De-Initialization
359 * This function freeze the hardware resources used in this example
360 * @param hi2s: I2S handle pointer
361 * @retval None
362 */
HAL_I2S_MspDeInit(I2S_HandleTypeDef * hi2s)363 void HAL_I2S_MspDeInit(I2S_HandleTypeDef* hi2s)
364 {
365 if(hi2s->Instance==SPI3)
366 {
367 /* USER CODE BEGIN SPI3_MspDeInit 0 */
368
369 /* USER CODE END SPI3_MspDeInit 0 */
370 /* Peripheral clock disable */
371 __HAL_RCC_SPI3_CLK_DISABLE();
372
373 /**I2S3 GPIO Configuration
374 PB3 ------> I2S3_CK
375 PA15 ------> I2S3_WS
376 PD6 ------> I2S3_SD
377 */
378 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_3);
379
380 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_15);
381
382 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_6);
383
384 /* I2S3 interrupt DeInit */
385 HAL_NVIC_DisableIRQ(SPI3_IRQn);
386 /* USER CODE BEGIN SPI3_MspDeInit 1 */
387
388 /* USER CODE END SPI3_MspDeInit 1 */
389 }
390
391 }
392
393 /**
394 * @brief LTDC MSP Initialization
395 * This function configures the hardware resources used in this example
396 * @param hltdc: LTDC handle pointer
397 * @retval None
398 */
HAL_LTDC_MspInit(LTDC_HandleTypeDef * hltdc)399 void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc)
400 {
401 if(hltdc->Instance==LTDC)
402 {
403 /* USER CODE BEGIN LTDC_MspInit 0 */
404
405 /* USER CODE END LTDC_MspInit 0 */
406 /* Peripheral clock enable */
407 __HAL_RCC_LTDC_CLK_ENABLE();
408 /* USER CODE BEGIN LTDC_MspInit 1 */
409
410 /* USER CODE END LTDC_MspInit 1 */
411 }
412
413 }
414
415 /**
416 * @brief LTDC MSP De-Initialization
417 * This function freeze the hardware resources used in this example
418 * @param hltdc: LTDC handle pointer
419 * @retval None
420 */
HAL_LTDC_MspDeInit(LTDC_HandleTypeDef * hltdc)421 void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef* hltdc)
422 {
423 if(hltdc->Instance==LTDC)
424 {
425 /* USER CODE BEGIN LTDC_MspDeInit 0 */
426
427 /* USER CODE END LTDC_MspDeInit 0 */
428 /* Peripheral clock disable */
429 __HAL_RCC_LTDC_CLK_DISABLE();
430 /* USER CODE BEGIN LTDC_MspDeInit 1 */
431
432 /* USER CODE END LTDC_MspDeInit 1 */
433 }
434
435 }
436
437 /**
438 * @brief QSPI MSP Initialization
439 * This function configures the hardware resources used in this example
440 * @param hqspi: QSPI handle pointer
441 * @retval None
442 */
HAL_QSPI_MspInit(QSPI_HandleTypeDef * hqspi)443 void HAL_QSPI_MspInit(QSPI_HandleTypeDef* hqspi)
444 {
445 GPIO_InitTypeDef GPIO_InitStruct = {0};
446 if(hqspi->Instance==QUADSPI)
447 {
448 /* USER CODE BEGIN QUADSPI_MspInit 0 */
449
450 /* USER CODE END QUADSPI_MspInit 0 */
451 /* Peripheral clock enable */
452 __HAL_RCC_QSPI_CLK_ENABLE();
453
454 __HAL_RCC_GPIOB_CLK_ENABLE();
455 __HAL_RCC_GPIOF_CLK_ENABLE();
456 /**QUADSPI GPIO Configuration
457 PB6 ------> QUADSPI_BK1_NCS
458 PF7 ------> QUADSPI_BK1_IO2
459 PF6 ------> QUADSPI_BK1_IO3
460 PF10 ------> QUADSPI_CLK
461 PF9 ------> QUADSPI_BK1_IO1
462 PF8 ------> QUADSPI_BK1_IO0
463 */
464 GPIO_InitStruct.Pin = GPIO_PIN_6;
465 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
466 GPIO_InitStruct.Pull = GPIO_NOPULL;
467 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
468 GPIO_InitStruct.Alternate = GPIO_AF10_QSPI;
469 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
470
471 GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_10;
472 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
473 GPIO_InitStruct.Pull = GPIO_NOPULL;
474 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
475 GPIO_InitStruct.Alternate = GPIO_AF9_QSPI;
476 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
477
478 GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_8;
479 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
480 GPIO_InitStruct.Pull = GPIO_NOPULL;
481 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
482 GPIO_InitStruct.Alternate = GPIO_AF10_QSPI;
483 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
484
485 /* USER CODE BEGIN QUADSPI_MspInit 1 */
486
487 /* USER CODE END QUADSPI_MspInit 1 */
488 }
489
490 }
491
492 /**
493 * @brief QSPI MSP De-Initialization
494 * This function freeze the hardware resources used in this example
495 * @param hqspi: QSPI handle pointer
496 * @retval None
497 */
HAL_QSPI_MspDeInit(QSPI_HandleTypeDef * hqspi)498 void HAL_QSPI_MspDeInit(QSPI_HandleTypeDef* hqspi)
499 {
500 if(hqspi->Instance==QUADSPI)
501 {
502 /* USER CODE BEGIN QUADSPI_MspDeInit 0 */
503
504 /* USER CODE END QUADSPI_MspDeInit 0 */
505 /* Peripheral clock disable */
506 __HAL_RCC_QSPI_CLK_DISABLE();
507
508 /**QUADSPI GPIO Configuration
509 PB6 ------> QUADSPI_BK1_NCS
510 PF7 ------> QUADSPI_BK1_IO2
511 PF6 ------> QUADSPI_BK1_IO3
512 PF10 ------> QUADSPI_CLK
513 PF9 ------> QUADSPI_BK1_IO1
514 PF8 ------> QUADSPI_BK1_IO0
515 */
516 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_6);
517
518 HAL_GPIO_DeInit(GPIOF, GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_10|GPIO_PIN_9
519 |GPIO_PIN_8);
520
521 /* USER CODE BEGIN QUADSPI_MspDeInit 1 */
522
523 /* USER CODE END QUADSPI_MspDeInit 1 */
524 }
525
526 }
527
528 /**
529 * @brief SD MSP Initialization
530 * This function configures the hardware resources used in this example
531 * @param hsd: SD handle pointer
532 * @retval None
533 */
HAL_SD_MspInit(SD_HandleTypeDef * hsd)534 void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
535 {
536 GPIO_InitTypeDef GPIO_InitStruct = {0};
537 if(hsd->Instance==SDIO)
538 {
539 /* USER CODE BEGIN SDIO_MspInit 0 */
540
541 /* USER CODE END SDIO_MspInit 0 */
542 /* Peripheral clock enable */
543 __HAL_RCC_SDIO_CLK_ENABLE();
544
545 __HAL_RCC_GPIOC_CLK_ENABLE();
546 __HAL_RCC_GPIOD_CLK_ENABLE();
547 /**SDIO GPIO Configuration
548 PC12 ------> SDIO_CK
549 PC11 ------> SDIO_D3
550 PC10 ------> SDIO_D2
551 PD2 ------> SDIO_CMD
552 PC9 ------> SDIO_D1
553 PC8 ------> SDIO_D0
554 */
555 GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_11|GPIO_PIN_10|GPIO_PIN_9
556 |GPIO_PIN_8;
557 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
558 GPIO_InitStruct.Pull = GPIO_NOPULL;
559 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
560 GPIO_InitStruct.Alternate = GPIO_AF12_SDIO;
561 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
562
563 GPIO_InitStruct.Pin = GPIO_PIN_2;
564 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
565 GPIO_InitStruct.Pull = GPIO_NOPULL;
566 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
567 GPIO_InitStruct.Alternate = GPIO_AF12_SDIO;
568 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
569
570 /* USER CODE BEGIN SDIO_MspInit 1 */
571
572 /* USER CODE END SDIO_MspInit 1 */
573 }
574
575 }
576
577 /**
578 * @brief SD MSP De-Initialization
579 * This function freeze the hardware resources used in this example
580 * @param hsd: SD handle pointer
581 * @retval None
582 */
HAL_SD_MspDeInit(SD_HandleTypeDef * hsd)583 void HAL_SD_MspDeInit(SD_HandleTypeDef* hsd)
584 {
585 if(hsd->Instance==SDIO)
586 {
587 /* USER CODE BEGIN SDIO_MspDeInit 0 */
588
589 /* USER CODE END SDIO_MspDeInit 0 */
590 /* Peripheral clock disable */
591 __HAL_RCC_SDIO_CLK_DISABLE();
592
593 /**SDIO GPIO Configuration
594 PC12 ------> SDIO_CK
595 PC11 ------> SDIO_D3
596 PC10 ------> SDIO_D2
597 PD2 ------> SDIO_CMD
598 PC9 ------> SDIO_D1
599 PC8 ------> SDIO_D0
600 */
601 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_12|GPIO_PIN_11|GPIO_PIN_10|GPIO_PIN_9
602 |GPIO_PIN_8);
603
604 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2);
605
606 /* USER CODE BEGIN SDIO_MspDeInit 1 */
607
608 /* USER CODE END SDIO_MspDeInit 1 */
609 }
610
611 }
612
613 /**
614 * @brief TIM_Base MSP Initialization
615 * This function configures the hardware resources used in this example
616 * @param htim_base: TIM_Base handle pointer
617 * @retval None
618 */
HAL_TIM_Base_MspInit(TIM_HandleTypeDef * htim_base)619 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
620 {
621 GPIO_InitTypeDef GPIO_InitStruct = {0};
622 if(htim_base->Instance==TIM2)
623 {
624 /* USER CODE BEGIN TIM2_MspInit 0 */
625
626 /* USER CODE END TIM2_MspInit 0 */
627 /* Peripheral clock enable */
628 __HAL_RCC_TIM2_CLK_ENABLE();
629 /* USER CODE BEGIN TIM2_MspInit 1 */
630
631 /* USER CODE END TIM2_MspInit 1 */
632 }
633 else if(htim_base->Instance==TIM3)
634 {
635 /* USER CODE BEGIN TIM3_MspInit 0 */
636
637 /* USER CODE END TIM3_MspInit 0 */
638 /* Peripheral clock enable */
639 __HAL_RCC_TIM3_CLK_ENABLE();
640 /* USER CODE BEGIN TIM3_MspInit 1 */
641
642 /* USER CODE END TIM3_MspInit 1 */
643 }
644 else if(htim_base->Instance==TIM4)
645 {
646 /* USER CODE BEGIN TIM4_MspInit 0 */
647
648 /* USER CODE END TIM4_MspInit 0 */
649 /* Peripheral clock enable */
650 __HAL_RCC_TIM4_CLK_ENABLE();
651
652 __HAL_RCC_GPIOD_CLK_ENABLE();
653 /**TIM4 GPIO Configuration
654 PD12 ------> TIM4_CH1
655 */
656 GPIO_InitStruct.Pin = GPIO_PIN_12;
657 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
658 GPIO_InitStruct.Pull = GPIO_NOPULL;
659 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
660 GPIO_InitStruct.Alternate = GPIO_AF2_TIM4;
661 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
662
663 /* USER CODE BEGIN TIM4_MspInit 1 */
664
665 /* USER CODE END TIM4_MspInit 1 */
666 }
667 else if(htim_base->Instance==TIM6)
668 {
669 /* USER CODE BEGIN TIM6_MspInit 0 */
670
671 /* USER CODE END TIM6_MspInit 0 */
672 /* Peripheral clock enable */
673 __HAL_RCC_TIM6_CLK_ENABLE();
674 /* USER CODE BEGIN TIM6_MspInit 1 */
675
676 /* USER CODE END TIM6_MspInit 1 */
677 }
678 else if(htim_base->Instance==TIM12)
679 {
680 /* USER CODE BEGIN TIM12_MspInit 0 */
681
682 /* USER CODE END TIM12_MspInit 0 */
683 /* Peripheral clock enable */
684 __HAL_RCC_TIM12_CLK_ENABLE();
685 /* USER CODE BEGIN TIM12_MspInit 1 */
686
687 /* USER CODE END TIM12_MspInit 1 */
688 }
689
690 }
691
HAL_TIM_MspPostInit(TIM_HandleTypeDef * htim)692 void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
693 {
694 GPIO_InitTypeDef GPIO_InitStruct = {0};
695 if(htim->Instance==TIM2)
696 {
697 /* USER CODE BEGIN TIM2_MspPostInit 0 */
698
699 /* USER CODE END TIM2_MspPostInit 0 */
700 __HAL_RCC_GPIOA_CLK_ENABLE();
701 /**TIM2 GPIO Configuration
702 PA1 ------> TIM2_CH2
703 PA2 ------> TIM2_CH3
704 */
705 GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_2;
706 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
707 GPIO_InitStruct.Pull = GPIO_NOPULL;
708 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
709 GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;
710 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
711
712 /* USER CODE BEGIN TIM2_MspPostInit 1 */
713
714 /* USER CODE END TIM2_MspPostInit 1 */
715 }
716 else if(htim->Instance==TIM3)
717 {
718 /* USER CODE BEGIN TIM3_MspPostInit 0 */
719
720 /* USER CODE END TIM3_MspPostInit 0 */
721
722 __HAL_RCC_GPIOA_CLK_ENABLE();
723 /**TIM3 GPIO Configuration
724 PA6 ------> TIM3_CH1
725 PA7 ------> TIM3_CH2
726 */
727 GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
728 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
729 GPIO_InitStruct.Pull = GPIO_NOPULL;
730 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
731 GPIO_InitStruct.Alternate = GPIO_AF2_TIM3;
732 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
733
734 /* USER CODE BEGIN TIM3_MspPostInit 1 */
735
736 /* USER CODE END TIM3_MspPostInit 1 */
737 }
738 else if(htim->Instance==TIM4)
739 {
740 /* USER CODE BEGIN TIM4_MspPostInit 0 */
741
742 /* USER CODE END TIM4_MspPostInit 0 */
743
744 __HAL_RCC_GPIOD_CLK_ENABLE();
745 /**TIM4 GPIO Configuration
746 PD13 ------> TIM4_CH2
747 */
748 GPIO_InitStruct.Pin = GPIO_PIN_13;
749 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
750 GPIO_InitStruct.Pull = GPIO_NOPULL;
751 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
752 GPIO_InitStruct.Alternate = GPIO_AF2_TIM4;
753 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
754
755 /* USER CODE BEGIN TIM4_MspPostInit 1 */
756
757 /* USER CODE END TIM4_MspPostInit 1 */
758 }
759 else if(htim->Instance==TIM12)
760 {
761 /* USER CODE BEGIN TIM12_MspPostInit 0 */
762
763 /* USER CODE END TIM12_MspPostInit 0 */
764
765 __HAL_RCC_GPIOH_CLK_ENABLE();
766 __HAL_RCC_GPIOB_CLK_ENABLE();
767 /**TIM12 GPIO Configuration
768 PH6 ------> TIM12_CH1
769 PB15 ------> TIM12_CH2
770 */
771 GPIO_InitStruct.Pin = GPIO_PIN_6;
772 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
773 GPIO_InitStruct.Pull = GPIO_NOPULL;
774 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
775 GPIO_InitStruct.Alternate = GPIO_AF9_TIM12;
776 HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
777
778 GPIO_InitStruct.Pin = GPIO_PIN_15;
779 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
780 GPIO_InitStruct.Pull = GPIO_NOPULL;
781 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
782 GPIO_InitStruct.Alternate = GPIO_AF9_TIM12;
783 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
784
785 /* USER CODE BEGIN TIM12_MspPostInit 1 */
786
787 /* USER CODE END TIM12_MspPostInit 1 */
788 }
789
790 }
791 /**
792 * @brief TIM_Base MSP De-Initialization
793 * This function freeze the hardware resources used in this example
794 * @param htim_base: TIM_Base handle pointer
795 * @retval None
796 */
HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef * htim_base)797 void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
798 {
799 if(htim_base->Instance==TIM2)
800 {
801 /* USER CODE BEGIN TIM2_MspDeInit 0 */
802
803 /* USER CODE END TIM2_MspDeInit 0 */
804 /* Peripheral clock disable */
805 __HAL_RCC_TIM2_CLK_DISABLE();
806 /* USER CODE BEGIN TIM2_MspDeInit 1 */
807
808 /* USER CODE END TIM2_MspDeInit 1 */
809 }
810 else if(htim_base->Instance==TIM3)
811 {
812 /* USER CODE BEGIN TIM3_MspDeInit 0 */
813
814 /* USER CODE END TIM3_MspDeInit 0 */
815 /* Peripheral clock disable */
816 __HAL_RCC_TIM3_CLK_DISABLE();
817 /* USER CODE BEGIN TIM3_MspDeInit 1 */
818
819 /* USER CODE END TIM3_MspDeInit 1 */
820 }
821 else if(htim_base->Instance==TIM4)
822 {
823 /* USER CODE BEGIN TIM4_MspDeInit 0 */
824
825 /* USER CODE END TIM4_MspDeInit 0 */
826 /* Peripheral clock disable */
827 __HAL_RCC_TIM4_CLK_DISABLE();
828
829 /**TIM4 GPIO Configuration
830 PD12 ------> TIM4_CH1
831 PD13 ------> TIM4_CH2
832 */
833 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_12|GPIO_PIN_13);
834
835 /* USER CODE BEGIN TIM4_MspDeInit 1 */
836
837 /* USER CODE END TIM4_MspDeInit 1 */
838 }
839 else if(htim_base->Instance==TIM6)
840 {
841 /* USER CODE BEGIN TIM6_MspDeInit 0 */
842
843 /* USER CODE END TIM6_MspDeInit 0 */
844 /* Peripheral clock disable */
845 __HAL_RCC_TIM6_CLK_DISABLE();
846 /* USER CODE BEGIN TIM6_MspDeInit 1 */
847
848 /* USER CODE END TIM6_MspDeInit 1 */
849 }
850 else if(htim_base->Instance==TIM12)
851 {
852 /* USER CODE BEGIN TIM12_MspDeInit 0 */
853
854 /* USER CODE END TIM12_MspDeInit 0 */
855 /* Peripheral clock disable */
856 __HAL_RCC_TIM12_CLK_DISABLE();
857 /* USER CODE BEGIN TIM12_MspDeInit 1 */
858
859 /* USER CODE END TIM12_MspDeInit 1 */
860 }
861
862 }
863
864 /**
865 * @brief UART MSP Initialization
866 * This function configures the hardware resources used in this example
867 * @param huart: UART handle pointer
868 * @retval None
869 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)870 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
871 {
872 GPIO_InitTypeDef GPIO_InitStruct = {0};
873 if(huart->Instance==USART3)
874 {
875 /* USER CODE BEGIN USART3_MspInit 0 */
876
877 /* USER CODE END USART3_MspInit 0 */
878 /* Peripheral clock enable */
879 __HAL_RCC_USART3_CLK_ENABLE();
880
881 __HAL_RCC_GPIOB_CLK_ENABLE();
882 /**USART3 GPIO Configuration
883 PB10 ------> USART3_TX
884 PB11 ------> USART3_RX
885 */
886 GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
887 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
888 GPIO_InitStruct.Pull = GPIO_PULLUP;
889 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
890 GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
891 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
892
893 /* USER CODE BEGIN USART3_MspInit 1 */
894
895 /* USER CODE END USART3_MspInit 1 */
896 }
897
898 }
899
900 /**
901 * @brief UART MSP De-Initialization
902 * This function freeze the hardware resources used in this example
903 * @param huart: UART handle pointer
904 * @retval None
905 */
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)906 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
907 {
908 if(huart->Instance==USART3)
909 {
910 /* USER CODE BEGIN USART3_MspDeInit 0 */
911
912 /* USER CODE END USART3_MspDeInit 0 */
913 /* Peripheral clock disable */
914 __HAL_RCC_USART3_CLK_DISABLE();
915
916 /**USART3 GPIO Configuration
917 PB10 ------> USART3_TX
918 PB11 ------> USART3_RX
919 */
920 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11);
921
922 /* USER CODE BEGIN USART3_MspDeInit 1 */
923
924 /* USER CODE END USART3_MspDeInit 1 */
925 }
926
927 }
928
929 /**
930 * @brief PCD MSP Initialization
931 * This function configures the hardware resources used in this example
932 * @param hpcd: PCD handle pointer
933 * @retval None
934 */
HAL_PCD_MspInit(PCD_HandleTypeDef * hpcd)935 void HAL_PCD_MspInit(PCD_HandleTypeDef* hpcd)
936 {
937 GPIO_InitTypeDef GPIO_InitStruct = {0};
938 if(hpcd->Instance==USB_OTG_FS)
939 {
940 /* USER CODE BEGIN USB_OTG_FS_MspInit 0 */
941
942 /* USER CODE END USB_OTG_FS_MspInit 0 */
943
944 __HAL_RCC_GPIOA_CLK_ENABLE();
945 /**USB_OTG_FS GPIO Configuration
946 PA12 ------> USB_OTG_FS_DP
947 PA11 ------> USB_OTG_FS_DM
948 */
949 GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_11;
950 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
951 GPIO_InitStruct.Pull = GPIO_NOPULL;
952 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
953 GPIO_InitStruct.Alternate = GPIO_AF10_OTG_FS;
954 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
955
956 /* Peripheral clock enable */
957 __HAL_RCC_USB_OTG_FS_CLK_ENABLE();
958 /* USB_OTG_FS interrupt Init */
959 HAL_NVIC_SetPriority(OTG_FS_IRQn, 0, 0);
960 HAL_NVIC_EnableIRQ(OTG_FS_IRQn);
961 /* USER CODE BEGIN USB_OTG_FS_MspInit 1 */
962
963 /* USER CODE END USB_OTG_FS_MspInit 1 */
964 }
965
966 }
967
968 /**
969 * @brief PCD MSP De-Initialization
970 * This function freeze the hardware resources used in this example
971 * @param hpcd: PCD handle pointer
972 * @retval None
973 */
HAL_PCD_MspDeInit(PCD_HandleTypeDef * hpcd)974 void HAL_PCD_MspDeInit(PCD_HandleTypeDef* hpcd)
975 {
976 if(hpcd->Instance==USB_OTG_FS)
977 {
978 /* USER CODE BEGIN USB_OTG_FS_MspDeInit 0 */
979
980 /* USER CODE END USB_OTG_FS_MspDeInit 0 */
981 /* Peripheral clock disable */
982 __HAL_RCC_USB_OTG_FS_CLK_DISABLE();
983
984 /**USB_OTG_FS GPIO Configuration
985 PA12 ------> USB_OTG_FS_DP
986 PA11 ------> USB_OTG_FS_DM
987 */
988 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_12|GPIO_PIN_11);
989
990 /* USB_OTG_FS interrupt DeInit */
991 HAL_NVIC_DisableIRQ(OTG_FS_IRQn);
992 /* USER CODE BEGIN USB_OTG_FS_MspDeInit 1 */
993
994 /* USER CODE END USB_OTG_FS_MspDeInit 1 */
995 }
996
997 }
998
999 static uint32_t FMC_Initialized = 0;
1000
HAL_FMC_MspInit(void)1001 static void HAL_FMC_MspInit(void){
1002 /* USER CODE BEGIN FMC_MspInit 0 */
1003
1004 /* USER CODE END FMC_MspInit 0 */
1005 GPIO_InitTypeDef GPIO_InitStruct;
1006 if (FMC_Initialized) {
1007 return;
1008 }
1009 FMC_Initialized = 1;
1010 /* Peripheral clock enable */
1011 __HAL_RCC_FMC_CLK_ENABLE();
1012
1013 /** FMC GPIO Configuration
1014 PE1 ------> FMC_NBL1
1015 PE0 ------> FMC_NBL0
1016 PG15 ------> FMC_SDNCAS
1017 PD0 ------> FMC_D2
1018 PI4 ------> FMC_NBL2
1019 PD1 ------> FMC_D3
1020 PI3 ------> FMC_D27
1021 PI2 ------> FMC_D26
1022 PF0 ------> FMC_A0
1023 PI5 ------> FMC_NBL3
1024 PI7 ------> FMC_D29
1025 PI10 ------> FMC_D31
1026 PI6 ------> FMC_D28
1027 PH15 ------> FMC_D23
1028 PI1 ------> FMC_D25
1029 PF1 ------> FMC_A1
1030 PI9 ------> FMC_D30
1031 PH13 ------> FMC_D21
1032 PH14 ------> FMC_D22
1033 PI0 ------> FMC_D24
1034 PF2 ------> FMC_A2
1035 PF3 ------> FMC_A3
1036 PG8 ------> FMC_SDCLK
1037 PF4 ------> FMC_A4
1038 PH3 ------> FMC_SDNE0
1039 PF5 ------> FMC_A5
1040 PH2 ------> FMC_SDCKE0
1041 PD15 ------> FMC_D1
1042 PD10 ------> FMC_D15
1043 PD14 ------> FMC_D0
1044 PD9 ------> FMC_D14
1045 PD8 ------> FMC_D13
1046 PC0 ------> FMC_SDNWE
1047 PF12 ------> FMC_A6
1048 PG1 ------> FMC_A11
1049 PF15 ------> FMC_A9
1050 PH12 ------> FMC_D20
1051 PF13 ------> FMC_A7
1052 PG0 ------> FMC_A10
1053 PE8 ------> FMC_D5
1054 PG5 ------> FMC_BA1
1055 PG4 ------> FMC_BA0
1056 PH9 ------> FMC_D17
1057 PH11 ------> FMC_D19
1058 PF14 ------> FMC_A8
1059 PF11 ------> FMC_SDNRAS
1060 PE9 ------> FMC_D6
1061 PE11 ------> FMC_D8
1062 PE14 ------> FMC_D11
1063 PH8 ------> FMC_D16
1064 PH10 ------> FMC_D18
1065 PE7 ------> FMC_D4
1066 PE10 ------> FMC_D7
1067 PE12 ------> FMC_D9
1068 PE15 ------> FMC_D12
1069 PE13 ------> FMC_D10
1070 */
1071 GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_0|GPIO_PIN_8|GPIO_PIN_9
1072 |GPIO_PIN_11|GPIO_PIN_14|GPIO_PIN_7|GPIO_PIN_10
1073 |GPIO_PIN_12|GPIO_PIN_15|GPIO_PIN_13;
1074 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1075 GPIO_InitStruct.Pull = GPIO_NOPULL;
1076 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1077 GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1078 HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
1079
1080 GPIO_InitStruct.Pin = GPIO_PIN_15|GPIO_PIN_8|GPIO_PIN_1|GPIO_PIN_0
1081 |GPIO_PIN_5|GPIO_PIN_4;
1082 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1083 GPIO_InitStruct.Pull = GPIO_NOPULL;
1084 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1085 GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1086 HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
1087
1088 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_15|GPIO_PIN_10
1089 |GPIO_PIN_14|GPIO_PIN_9|GPIO_PIN_8;
1090 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1091 GPIO_InitStruct.Pull = GPIO_NOPULL;
1092 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1093 GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1094 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
1095
1096 GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_3|GPIO_PIN_2|GPIO_PIN_5
1097 |GPIO_PIN_7|GPIO_PIN_10|GPIO_PIN_6|GPIO_PIN_1
1098 |GPIO_PIN_9|GPIO_PIN_0;
1099 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1100 GPIO_InitStruct.Pull = GPIO_NOPULL;
1101 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1102 GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1103 HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
1104
1105 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
1106 |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_12|GPIO_PIN_15
1107 |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_11;
1108 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1109 GPIO_InitStruct.Pull = GPIO_NOPULL;
1110 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1111 GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1112 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
1113
1114 GPIO_InitStruct.Pin = GPIO_PIN_15|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_3
1115 |GPIO_PIN_2|GPIO_PIN_12|GPIO_PIN_9|GPIO_PIN_11
1116 |GPIO_PIN_8|GPIO_PIN_10;
1117 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1118 GPIO_InitStruct.Pull = GPIO_NOPULL;
1119 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1120 GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1121 HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
1122
1123 GPIO_InitStruct.Pin = GPIO_PIN_0;
1124 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1125 GPIO_InitStruct.Pull = GPIO_NOPULL;
1126 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1127 GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1128 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
1129
1130 /* USER CODE BEGIN FMC_MspInit 1 */
1131
1132 /* USER CODE END FMC_MspInit 1 */
1133 }
1134
HAL_SDRAM_MspInit(SDRAM_HandleTypeDef * hsdram)1135 void HAL_SDRAM_MspInit(SDRAM_HandleTypeDef* hsdram){
1136 /* USER CODE BEGIN SDRAM_MspInit 0 */
1137
1138 /* USER CODE END SDRAM_MspInit 0 */
1139 HAL_FMC_MspInit();
1140 /* USER CODE BEGIN SDRAM_MspInit 1 */
1141
1142 /* USER CODE END SDRAM_MspInit 1 */
1143 }
1144
1145 static uint32_t FMC_DeInitialized = 0;
1146
HAL_FMC_MspDeInit(void)1147 static void HAL_FMC_MspDeInit(void){
1148 /* USER CODE BEGIN FMC_MspDeInit 0 */
1149
1150 /* USER CODE END FMC_MspDeInit 0 */
1151 if (FMC_DeInitialized) {
1152 return;
1153 }
1154 FMC_DeInitialized = 1;
1155 /* Peripheral clock enable */
1156 __HAL_RCC_FMC_CLK_DISABLE();
1157
1158 /** FMC GPIO Configuration
1159 PE1 ------> FMC_NBL1
1160 PE0 ------> FMC_NBL0
1161 PG15 ------> FMC_SDNCAS
1162 PD0 ------> FMC_D2
1163 PI4 ------> FMC_NBL2
1164 PD1 ------> FMC_D3
1165 PI3 ------> FMC_D27
1166 PI2 ------> FMC_D26
1167 PF0 ------> FMC_A0
1168 PI5 ------> FMC_NBL3
1169 PI7 ------> FMC_D29
1170 PI10 ------> FMC_D31
1171 PI6 ------> FMC_D28
1172 PH15 ------> FMC_D23
1173 PI1 ------> FMC_D25
1174 PF1 ------> FMC_A1
1175 PI9 ------> FMC_D30
1176 PH13 ------> FMC_D21
1177 PH14 ------> FMC_D22
1178 PI0 ------> FMC_D24
1179 PF2 ------> FMC_A2
1180 PF3 ------> FMC_A3
1181 PG8 ------> FMC_SDCLK
1182 PF4 ------> FMC_A4
1183 PH3 ------> FMC_SDNE0
1184 PF5 ------> FMC_A5
1185 PH2 ------> FMC_SDCKE0
1186 PD15 ------> FMC_D1
1187 PD10 ------> FMC_D15
1188 PD14 ------> FMC_D0
1189 PD9 ------> FMC_D14
1190 PD8 ------> FMC_D13
1191 PC0 ------> FMC_SDNWE
1192 PF12 ------> FMC_A6
1193 PG1 ------> FMC_A11
1194 PF15 ------> FMC_A9
1195 PH12 ------> FMC_D20
1196 PF13 ------> FMC_A7
1197 PG0 ------> FMC_A10
1198 PE8 ------> FMC_D5
1199 PG5 ------> FMC_BA1
1200 PG4 ------> FMC_BA0
1201 PH9 ------> FMC_D17
1202 PH11 ------> FMC_D19
1203 PF14 ------> FMC_A8
1204 PF11 ------> FMC_SDNRAS
1205 PE9 ------> FMC_D6
1206 PE11 ------> FMC_D8
1207 PE14 ------> FMC_D11
1208 PH8 ------> FMC_D16
1209 PH10 ------> FMC_D18
1210 PE7 ------> FMC_D4
1211 PE10 ------> FMC_D7
1212 PE12 ------> FMC_D9
1213 PE15 ------> FMC_D12
1214 PE13 ------> FMC_D10
1215 */
1216 HAL_GPIO_DeInit(GPIOE, GPIO_PIN_1|GPIO_PIN_0|GPIO_PIN_8|GPIO_PIN_9
1217 |GPIO_PIN_11|GPIO_PIN_14|GPIO_PIN_7|GPIO_PIN_10
1218 |GPIO_PIN_12|GPIO_PIN_15|GPIO_PIN_13);
1219
1220 HAL_GPIO_DeInit(GPIOG, GPIO_PIN_15|GPIO_PIN_8|GPIO_PIN_1|GPIO_PIN_0
1221 |GPIO_PIN_5|GPIO_PIN_4);
1222
1223 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_15|GPIO_PIN_10
1224 |GPIO_PIN_14|GPIO_PIN_9|GPIO_PIN_8);
1225
1226 HAL_GPIO_DeInit(GPIOI, GPIO_PIN_4|GPIO_PIN_3|GPIO_PIN_2|GPIO_PIN_5
1227 |GPIO_PIN_7|GPIO_PIN_10|GPIO_PIN_6|GPIO_PIN_1
1228 |GPIO_PIN_9|GPIO_PIN_0);
1229
1230 HAL_GPIO_DeInit(GPIOF, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
1231 |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_12|GPIO_PIN_15
1232 |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_11);
1233
1234 HAL_GPIO_DeInit(GPIOH, GPIO_PIN_15|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_3
1235 |GPIO_PIN_2|GPIO_PIN_12|GPIO_PIN_9|GPIO_PIN_11
1236 |GPIO_PIN_8|GPIO_PIN_10);
1237
1238 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0);
1239
1240 /* USER CODE BEGIN FMC_MspDeInit 1 */
1241
1242 /* USER CODE END FMC_MspDeInit 1 */
1243 }
1244
HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef * hsdram)1245 void HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef* hsdram){
1246 /* USER CODE BEGIN SDRAM_MspDeInit 0 */
1247
1248 /* USER CODE END SDRAM_MspDeInit 0 */
1249 HAL_FMC_MspDeInit();
1250 /* USER CODE BEGIN SDRAM_MspDeInit 1 */
1251
1252 /* USER CODE END SDRAM_MspDeInit 1 */
1253 }
1254
1255 /* USER CODE BEGIN 1 */
1256
1257 /* USER CODE END 1 */
1258
1259 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
1260