1 /* USER CODE BEGIN Header */
2 /**
3 ******************************************************************************
4 * File Name : stm32f7xx_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
42 /* Includes ------------------------------------------------------------------*/
43 #include "main.h"
44 /* USER CODE BEGIN Includes */
45 #include <drv_common.h>
46 /* USER CODE END Includes */
47
48 /* Private typedef -----------------------------------------------------------*/
49 /* USER CODE BEGIN TD */
50
51 /* USER CODE END TD */
52
53 /* Private define ------------------------------------------------------------*/
54 /* USER CODE BEGIN Define */
55
56 /* USER CODE END Define */
57
58 /* Private macro -------------------------------------------------------------*/
59 /* USER CODE BEGIN Macro */
60
61 /* USER CODE END Macro */
62
63 /* Private variables ---------------------------------------------------------*/
64 /* USER CODE BEGIN PV */
65
66 /* USER CODE END PV */
67
68 /* Private function prototypes -----------------------------------------------*/
69 /* USER CODE BEGIN PFP */
70
71 /* USER CODE END PFP */
72
73 /* External functions --------------------------------------------------------*/
74 /* USER CODE BEGIN ExternalFunctions */
75
76 /* USER CODE END ExternalFunctions */
77
78 /* USER CODE BEGIN 0 */
79
80 /* USER CODE END 0 */
81
82 void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
83 /**
84 * Initializes the Global MSP.
85 */
HAL_MspInit(void)86 void HAL_MspInit(void)
87 {
88 /* USER CODE BEGIN MspInit 0 */
89
90 /* USER CODE END MspInit 0 */
91
92 __HAL_RCC_PWR_CLK_ENABLE();
93 __HAL_RCC_SYSCFG_CLK_ENABLE();
94
95 /* System interrupt init*/
96
97 /* USER CODE BEGIN MspInit 1 */
98
99 /* USER CODE END MspInit 1 */
100 }
101
102 /**
103 * @brief ADC MSP Initialization
104 * This function configures the hardware resources used in this example
105 * @param hadc: ADC handle pointer
106 * @retval None
107 */
HAL_ADC_MspInit(ADC_HandleTypeDef * hadc)108 void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
109 {
110 GPIO_InitTypeDef GPIO_InitStruct = {0};
111 if(hadc->Instance==ADC1)
112 {
113 /* USER CODE BEGIN ADC1_MspInit 0 */
114
115 /* USER CODE END ADC1_MspInit 0 */
116 /* Peripheral clock enable */
117 __HAL_RCC_ADC1_CLK_ENABLE();
118
119 __HAL_RCC_GPIOA_CLK_ENABLE();
120 /**ADC1 GPIO Configuration
121 PA5 ------> ADC1_IN5
122 */
123 GPIO_InitStruct.Pin = GPIO_PIN_5;
124 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
125 GPIO_InitStruct.Pull = GPIO_NOPULL;
126 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
127
128 /* USER CODE BEGIN ADC1_MspInit 1 */
129
130 /* USER CODE END ADC1_MspInit 1 */
131 }
132
133 }
134
135 /**
136 * @brief ADC MSP De-Initialization
137 * This function freeze the hardware resources used in this example
138 * @param hadc: ADC handle pointer
139 * @retval None
140 */
HAL_ADC_MspDeInit(ADC_HandleTypeDef * hadc)141 void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
142 {
143 if(hadc->Instance==ADC1)
144 {
145 /* USER CODE BEGIN ADC1_MspDeInit 0 */
146
147 /* USER CODE END ADC1_MspDeInit 0 */
148 /* Peripheral clock disable */
149 __HAL_RCC_ADC1_CLK_DISABLE();
150
151 /**ADC1 GPIO Configuration
152 PA5 ------> ADC1_IN5
153 */
154 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5);
155
156 /* USER CODE BEGIN ADC1_MspDeInit 1 */
157
158 /* USER CODE END ADC1_MspDeInit 1 */
159 }
160
161 }
162
163 /**
164 * @brief ETH MSP Initialization
165 * This function configures the hardware resources used in this example
166 * @param heth: ETH handle pointer
167 * @retval None
168 */
HAL_ETH_MspInit(ETH_HandleTypeDef * heth)169 void HAL_ETH_MspInit(ETH_HandleTypeDef* heth)
170 {
171 GPIO_InitTypeDef GPIO_InitStruct = {0};
172 if(heth->Instance==ETH)
173 {
174 /* USER CODE BEGIN ETH_MspInit 0 */
175
176 /* USER CODE END ETH_MspInit 0 */
177 /* Peripheral clock enable */
178 __HAL_RCC_ETH_CLK_ENABLE();
179
180 __HAL_RCC_GPIOC_CLK_ENABLE();
181 __HAL_RCC_GPIOA_CLK_ENABLE();
182 __HAL_RCC_GPIOB_CLK_ENABLE();
183 __HAL_RCC_GPIOG_CLK_ENABLE();
184 /**ETH GPIO Configuration
185 PC1 ------> ETH_MDC
186 PA1 ------> ETH_REF_CLK
187 PA2 ------> ETH_MDIO
188 PA7 ------> ETH_CRS_DV
189 PC4 ------> ETH_RXD0
190 PC5 ------> ETH_RXD1
191 PB11 ------> ETH_TX_EN
192 PG13 ------> ETH_TXD0
193 PG14 ------> ETH_TXD1
194 */
195 GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5;
196 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
197 GPIO_InitStruct.Pull = GPIO_NOPULL;
198 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
199 GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
200 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
201
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
209 GPIO_InitStruct.Pin = GPIO_PIN_11;
210 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
211 GPIO_InitStruct.Pull = GPIO_NOPULL;
212 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
213 GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
214 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
215
216 GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14;
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(GPIOG, &GPIO_InitStruct);
222
223 /* USER CODE BEGIN ETH_MspInit 1 */
224
225 /* USER CODE END ETH_MspInit 1 */
226 }
227
228 }
229
230 /**
231 * @brief ETH MSP De-Initialization
232 * This function freeze the hardware resources used in this example
233 * @param heth: ETH handle pointer
234 * @retval None
235 */
HAL_ETH_MspDeInit(ETH_HandleTypeDef * heth)236 void HAL_ETH_MspDeInit(ETH_HandleTypeDef* heth)
237 {
238 if(heth->Instance==ETH)
239 {
240 /* USER CODE BEGIN ETH_MspDeInit 0 */
241
242 /* USER CODE END ETH_MspDeInit 0 */
243 /* Peripheral clock disable */
244 __HAL_RCC_ETH_CLK_DISABLE();
245
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 PB11 ------> 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
259 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_7);
260
261 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_11);
262
263 HAL_GPIO_DeInit(GPIOG, GPIO_PIN_13|GPIO_PIN_14);
264
265 /* USER CODE BEGIN ETH_MspDeInit 1 */
266
267 /* USER CODE END ETH_MspDeInit 1 */
268 }
269
270 }
271
272 /**
273 * @brief LTDC MSP Initialization
274 * This function configures the hardware resources used in this example
275 * @param hltdc: LTDC handle pointer
276 * @retval None
277 */
HAL_LTDC_MspInit(LTDC_HandleTypeDef * hltdc)278 void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc)
279 {
280 GPIO_InitTypeDef GPIO_InitStruct = {0};
281 if(hltdc->Instance==LTDC)
282 {
283 /* USER CODE BEGIN LTDC_MspInit 0 */
284
285 /* USER CODE END LTDC_MspInit 0 */
286 /* Peripheral clock enable */
287 __HAL_RCC_LTDC_CLK_ENABLE();
288
289 __HAL_RCC_GPIOI_CLK_ENABLE();
290 __HAL_RCC_GPIOF_CLK_ENABLE();
291 __HAL_RCC_GPIOH_CLK_ENABLE();
292 __HAL_RCC_GPIOA_CLK_ENABLE();
293 __HAL_RCC_GPIOB_CLK_ENABLE();
294 __HAL_RCC_GPIOG_CLK_ENABLE();
295 /**LTDC GPIO Configuration
296 PI9 ------> LTDC_VSYNC
297 PI10 ------> LTDC_HSYNC
298 PI11 ------> LTDC_G6
299 PF10 ------> LTDC_DE
300 PH4 ------> LTDC_G5
301 PA6 ------> LTDC_G2
302 PB1 ------> LTDC_R6
303 PB10 ------> LTDC_G4
304 PH9 ------> LTDC_R3
305 PH10 ------> LTDC_R4
306 PH11 ------> LTDC_R5
307 PG6 ------> LTDC_R7
308 PG7 ------> LTDC_CLK
309 PA8 ------> LTDC_B3
310 PH14 ------> LTDC_G3
311 PI2 ------> LTDC_G7
312 PG12 ------> LTDC_B4
313 PB8 ------> LTDC_B6
314 PB9 ------> LTDC_B7
315 PI5 ------> LTDC_B5
316 */
317 GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_2|GPIO_PIN_5;
318 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
319 GPIO_InitStruct.Pull = GPIO_NOPULL;
320 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
321 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
322 HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
323
324 GPIO_InitStruct.Pin = GPIO_PIN_11;
325 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
326 GPIO_InitStruct.Pull = GPIO_NOPULL;
327 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
328 GPIO_InitStruct.Alternate = GPIO_AF9_LTDC;
329 HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
330
331 GPIO_InitStruct.Pin = GPIO_PIN_10;
332 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
333 GPIO_InitStruct.Pull = GPIO_NOPULL;
334 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
335 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
336 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
337
338 GPIO_InitStruct.Pin = GPIO_PIN_4;
339 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
340 GPIO_InitStruct.Pull = GPIO_NOPULL;
341 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
342 GPIO_InitStruct.Alternate = GPIO_AF9_LTDC;
343 HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
344
345 GPIO_InitStruct.Pin = GPIO_PIN_6;
346 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
347 GPIO_InitStruct.Pull = GPIO_NOPULL;
348 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
349 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
350 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
351
352 GPIO_InitStruct.Pin = GPIO_PIN_1;
353 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
354 GPIO_InitStruct.Pull = GPIO_NOPULL;
355 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
356 GPIO_InitStruct.Alternate = GPIO_AF9_LTDC;
357 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
358
359 GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_8|GPIO_PIN_9;
360 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
361 GPIO_InitStruct.Pull = GPIO_NOPULL;
362 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
363 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
364 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
365
366 GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_14;
367 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
368 GPIO_InitStruct.Pull = GPIO_NOPULL;
369 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
370 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
371 HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
372
373 GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
374 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
375 GPIO_InitStruct.Pull = GPIO_NOPULL;
376 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
377 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
378 HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
379
380 GPIO_InitStruct.Pin = GPIO_PIN_8;
381 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
382 GPIO_InitStruct.Pull = GPIO_NOPULL;
383 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
384 GPIO_InitStruct.Alternate = GPIO_AF13_LTDC;
385 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
386
387 GPIO_InitStruct.Pin = GPIO_PIN_12;
388 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
389 GPIO_InitStruct.Pull = GPIO_NOPULL;
390 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
391 GPIO_InitStruct.Alternate = GPIO_AF9_LTDC;
392 HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
393
394 /* USER CODE BEGIN LTDC_MspInit 1 */
395
396 /* USER CODE END LTDC_MspInit 1 */
397 }
398
399 }
400
401 /**
402 * @brief LTDC MSP De-Initialization
403 * This function freeze the hardware resources used in this example
404 * @param hltdc: LTDC handle pointer
405 * @retval None
406 */
HAL_LTDC_MspDeInit(LTDC_HandleTypeDef * hltdc)407 void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef* hltdc)
408 {
409 if(hltdc->Instance==LTDC)
410 {
411 /* USER CODE BEGIN LTDC_MspDeInit 0 */
412
413 /* USER CODE END LTDC_MspDeInit 0 */
414 /* Peripheral clock disable */
415 __HAL_RCC_LTDC_CLK_DISABLE();
416
417 /**LTDC GPIO Configuration
418 PI9 ------> LTDC_VSYNC
419 PI10 ------> LTDC_HSYNC
420 PI11 ------> LTDC_G6
421 PF10 ------> LTDC_DE
422 PH4 ------> LTDC_G5
423 PA6 ------> LTDC_G2
424 PB1 ------> LTDC_R6
425 PB10 ------> LTDC_G4
426 PH9 ------> LTDC_R3
427 PH10 ------> LTDC_R4
428 PH11 ------> LTDC_R5
429 PG6 ------> LTDC_R7
430 PG7 ------> LTDC_CLK
431 PA8 ------> LTDC_B3
432 PH14 ------> LTDC_G3
433 PI2 ------> LTDC_G7
434 PG12 ------> LTDC_B4
435 PB8 ------> LTDC_B6
436 PB9 ------> LTDC_B7
437 PI5 ------> LTDC_B5
438 */
439 HAL_GPIO_DeInit(GPIOI, GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_2
440 |GPIO_PIN_5);
441
442 HAL_GPIO_DeInit(GPIOF, GPIO_PIN_10);
443
444 HAL_GPIO_DeInit(GPIOH, GPIO_PIN_4|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
445 |GPIO_PIN_14);
446
447 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_6|GPIO_PIN_8);
448
449 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_1|GPIO_PIN_10|GPIO_PIN_8|GPIO_PIN_9);
450
451 HAL_GPIO_DeInit(GPIOG, GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_12);
452
453 /* USER CODE BEGIN LTDC_MspDeInit 1 */
454
455 /* USER CODE END LTDC_MspDeInit 1 */
456 }
457
458 }
459
460 /**
461 * @brief QSPI MSP Initialization
462 * This function configures the hardware resources used in this example
463 * @param hqspi: QSPI handle pointer
464 * @retval None
465 */
HAL_QSPI_MspInit(QSPI_HandleTypeDef * hqspi)466 void HAL_QSPI_MspInit(QSPI_HandleTypeDef* hqspi)
467 {
468 GPIO_InitTypeDef GPIO_InitStruct = {0};
469 if(hqspi->Instance==QUADSPI)
470 {
471 /* USER CODE BEGIN QUADSPI_MspInit 0 */
472
473 /* USER CODE END QUADSPI_MspInit 0 */
474 /* Peripheral clock enable */
475 __HAL_RCC_QSPI_CLK_ENABLE();
476
477 __HAL_RCC_GPIOF_CLK_ENABLE();
478 __HAL_RCC_GPIOB_CLK_ENABLE();
479 /**QUADSPI GPIO Configuration
480 PF6 ------> QUADSPI_BK1_IO3
481 PF7 ------> QUADSPI_BK1_IO2
482 PF8 ------> QUADSPI_BK1_IO0
483 PF9 ------> QUADSPI_BK1_IO1
484 PB2 ------> QUADSPI_CLK
485 PB6 ------> QUADSPI_BK1_NCS
486 */
487 GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
488 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
489 GPIO_InitStruct.Pull = GPIO_NOPULL;
490 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
491 GPIO_InitStruct.Alternate = GPIO_AF9_QUADSPI;
492 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
493
494 GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;
495 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
496 GPIO_InitStruct.Pull = GPIO_NOPULL;
497 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
498 GPIO_InitStruct.Alternate = GPIO_AF10_QUADSPI;
499 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
500
501 GPIO_InitStruct.Pin = GPIO_PIN_2;
502 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
503 GPIO_InitStruct.Pull = GPIO_NOPULL;
504 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
505 GPIO_InitStruct.Alternate = GPIO_AF9_QUADSPI;
506 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
507
508 GPIO_InitStruct.Pin = GPIO_PIN_6;
509 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
510 GPIO_InitStruct.Pull = GPIO_NOPULL;
511 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
512 GPIO_InitStruct.Alternate = GPIO_AF10_QUADSPI;
513 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
514
515 /* USER CODE BEGIN QUADSPI_MspInit 1 */
516
517 /* USER CODE END QUADSPI_MspInit 1 */
518 }
519
520 }
521
522 /**
523 * @brief QSPI MSP De-Initialization
524 * This function freeze the hardware resources used in this example
525 * @param hqspi: QSPI handle pointer
526 * @retval None
527 */
HAL_QSPI_MspDeInit(QSPI_HandleTypeDef * hqspi)528 void HAL_QSPI_MspDeInit(QSPI_HandleTypeDef* hqspi)
529 {
530 if(hqspi->Instance==QUADSPI)
531 {
532 /* USER CODE BEGIN QUADSPI_MspDeInit 0 */
533
534 /* USER CODE END QUADSPI_MspDeInit 0 */
535 /* Peripheral clock disable */
536 __HAL_RCC_QSPI_CLK_DISABLE();
537
538 /**QUADSPI GPIO Configuration
539 PF6 ------> QUADSPI_BK1_IO3
540 PF7 ------> QUADSPI_BK1_IO2
541 PF8 ------> QUADSPI_BK1_IO0
542 PF9 ------> QUADSPI_BK1_IO1
543 PB2 ------> QUADSPI_CLK
544 PB6 ------> QUADSPI_BK1_NCS
545 */
546 HAL_GPIO_DeInit(GPIOF, GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9);
547
548 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_2|GPIO_PIN_6);
549
550 /* USER CODE BEGIN QUADSPI_MspDeInit 1 */
551
552 /* USER CODE END QUADSPI_MspDeInit 1 */
553 }
554
555 }
556
557 /**
558 * @brief RTC MSP Initialization
559 * This function configures the hardware resources used in this example
560 * @param hrtc: RTC handle pointer
561 * @retval None
562 */
HAL_RTC_MspInit(RTC_HandleTypeDef * hrtc)563 void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
564 {
565 if(hrtc->Instance==RTC)
566 {
567 /* USER CODE BEGIN RTC_MspInit 0 */
568
569 /* USER CODE END RTC_MspInit 0 */
570 /* Peripheral clock enable */
571 __HAL_RCC_RTC_ENABLE();
572 /* USER CODE BEGIN RTC_MspInit 1 */
573
574 /* USER CODE END RTC_MspInit 1 */
575 }
576
577 }
578
579 /**
580 * @brief RTC MSP De-Initialization
581 * This function freeze the hardware resources used in this example
582 * @param hrtc: RTC handle pointer
583 * @retval None
584 */
HAL_RTC_MspDeInit(RTC_HandleTypeDef * hrtc)585 void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
586 {
587 if(hrtc->Instance==RTC)
588 {
589 /* USER CODE BEGIN RTC_MspDeInit 0 */
590
591 /* USER CODE END RTC_MspDeInit 0 */
592 /* Peripheral clock disable */
593 __HAL_RCC_RTC_DISABLE();
594 /* USER CODE BEGIN RTC_MspDeInit 1 */
595
596 /* USER CODE END RTC_MspDeInit 1 */
597 }
598
599 }
600
601 /**
602 * @brief SD MSP Initialization
603 * This function configures the hardware resources used in this example
604 * @param hsd: SD handle pointer
605 * @retval None
606 */
HAL_SD_MspInit(SD_HandleTypeDef * hsd)607 void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
608 {
609 GPIO_InitTypeDef GPIO_InitStruct = {0};
610 if(hsd->Instance==SDMMC1)
611 {
612 /* USER CODE BEGIN SDMMC1_MspInit 0 */
613
614 /* USER CODE END SDMMC1_MspInit 0 */
615 /* Peripheral clock enable */
616 __HAL_RCC_SDMMC1_CLK_ENABLE();
617
618 __HAL_RCC_GPIOC_CLK_ENABLE();
619 __HAL_RCC_GPIOD_CLK_ENABLE();
620 /**SDMMC1 GPIO Configuration
621 PC8 ------> SDMMC1_D0
622 PC9 ------> SDMMC1_D1
623 PC10 ------> SDMMC1_D2
624 PC11 ------> SDMMC1_D3
625 PC12 ------> SDMMC1_CK
626 PD2 ------> SDMMC1_CMD
627 */
628 GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
629 |GPIO_PIN_12;
630 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
631 GPIO_InitStruct.Pull = GPIO_NOPULL;
632 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
633 GPIO_InitStruct.Alternate = GPIO_AF12_SDMMC1;
634 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
635
636 GPIO_InitStruct.Pin = GPIO_PIN_2;
637 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
638 GPIO_InitStruct.Pull = GPIO_NOPULL;
639 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
640 GPIO_InitStruct.Alternate = GPIO_AF12_SDMMC1;
641 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
642
643 /* USER CODE BEGIN SDMMC1_MspInit 1 */
644
645 /* USER CODE END SDMMC1_MspInit 1 */
646 }
647
648 }
649
650 /**
651 * @brief SD MSP De-Initialization
652 * This function freeze the hardware resources used in this example
653 * @param hsd: SD handle pointer
654 * @retval None
655 */
HAL_SD_MspDeInit(SD_HandleTypeDef * hsd)656 void HAL_SD_MspDeInit(SD_HandleTypeDef* hsd)
657 {
658 if(hsd->Instance==SDMMC1)
659 {
660 /* USER CODE BEGIN SDMMC1_MspDeInit 0 */
661
662 /* USER CODE END SDMMC1_MspDeInit 0 */
663 /* Peripheral clock disable */
664 __HAL_RCC_SDMMC1_CLK_DISABLE();
665
666 /**SDMMC1 GPIO Configuration
667 PC8 ------> SDMMC1_D0
668 PC9 ------> SDMMC1_D1
669 PC10 ------> SDMMC1_D2
670 PC11 ------> SDMMC1_D3
671 PC12 ------> SDMMC1_CK
672 PD2 ------> SDMMC1_CMD
673 */
674 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
675 |GPIO_PIN_12);
676
677 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2);
678
679 /* USER CODE BEGIN SDMMC1_MspDeInit 1 */
680
681 /* USER CODE END SDMMC1_MspDeInit 1 */
682 }
683
684 }
685
686 /**
687 * @brief SPI MSP Initialization
688 * This function configures the hardware resources used in this example
689 * @param hspi: SPI handle pointer
690 * @retval None
691 */
HAL_SPI_MspInit(SPI_HandleTypeDef * hspi)692 void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
693 {
694 GPIO_InitTypeDef GPIO_InitStruct = {0};
695 if(hspi->Instance==SPI2)
696 {
697 /* USER CODE BEGIN SPI2_MspInit 0 */
698
699 /* USER CODE END SPI2_MspInit 0 */
700 /* Peripheral clock enable */
701 __HAL_RCC_SPI2_CLK_ENABLE();
702
703 __HAL_RCC_GPIOB_CLK_ENABLE();
704 /**SPI2 GPIO Configuration
705 PB13 ------> SPI2_SCK
706 PB14 ------> SPI2_MISO
707 PB15 ------> SPI2_MOSI
708 */
709 GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
710 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
711 GPIO_InitStruct.Pull = GPIO_NOPULL;
712 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
713 GPIO_InitStruct.Alternate = GPIO_AF5_SPI2;
714 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
715
716 /* USER CODE BEGIN SPI2_MspInit 1 */
717
718 /* USER CODE END SPI2_MspInit 1 */
719 }
720
721 }
722
723 /**
724 * @brief SPI MSP De-Initialization
725 * This function freeze the hardware resources used in this example
726 * @param hspi: SPI handle pointer
727 * @retval None
728 */
HAL_SPI_MspDeInit(SPI_HandleTypeDef * hspi)729 void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
730 {
731 if(hspi->Instance==SPI2)
732 {
733 /* USER CODE BEGIN SPI2_MspDeInit 0 */
734
735 /* USER CODE END SPI2_MspDeInit 0 */
736 /* Peripheral clock disable */
737 __HAL_RCC_SPI2_CLK_DISABLE();
738
739 /**SPI2 GPIO Configuration
740 PB13 ------> SPI2_SCK
741 PB14 ------> SPI2_MISO
742 PB15 ------> SPI2_MOSI
743 */
744 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
745
746 /* USER CODE BEGIN SPI2_MspDeInit 1 */
747
748 /* USER CODE END SPI2_MspDeInit 1 */
749 }
750
751 }
752
753 /**
754 * @brief TIM_PWM MSP Initialization
755 * This function configures the hardware resources used in this example
756 * @param htim_pwm: TIM_PWM handle pointer
757 * @retval None
758 */
HAL_TIM_PWM_MspInit(TIM_HandleTypeDef * htim_pwm)759 void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm)
760 {
761 if(htim_pwm->Instance==TIM2)
762 {
763 /* USER CODE BEGIN TIM2_MspInit 0 */
764
765 /* USER CODE END TIM2_MspInit 0 */
766 /* Peripheral clock enable */
767 __HAL_RCC_TIM2_CLK_ENABLE();
768 /* USER CODE BEGIN TIM2_MspInit 1 */
769
770 /* USER CODE END TIM2_MspInit 1 */
771 }
772
773 }
774
775 /**
776 * @brief TIM_Base MSP Initialization
777 * This function configures the hardware resources used in this example
778 * @param htim_base: TIM_Base handle pointer
779 * @retval None
780 */
HAL_TIM_Base_MspInit(TIM_HandleTypeDef * htim_base)781 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
782 {
783 if(htim_base->Instance==TIM3)
784 {
785 /* USER CODE BEGIN TIM3_MspInit 0 */
786
787 /* USER CODE END TIM3_MspInit 0 */
788 /* Peripheral clock enable */
789 __HAL_RCC_TIM3_CLK_ENABLE();
790 /* USER CODE BEGIN TIM3_MspInit 1 */
791
792 /* USER CODE END TIM3_MspInit 1 */
793 }
794 else if(htim_base->Instance==TIM11)
795 {
796 /* USER CODE BEGIN TIM11_MspInit 0 */
797
798 /* USER CODE END TIM11_MspInit 0 */
799 /* Peripheral clock enable */
800 __HAL_RCC_TIM11_CLK_ENABLE();
801 /* USER CODE BEGIN TIM11_MspInit 1 */
802
803 /* USER CODE END TIM11_MspInit 1 */
804 }
805 else if(htim_base->Instance==TIM13)
806 {
807 /* USER CODE BEGIN TIM13_MspInit 0 */
808
809 /* USER CODE END TIM13_MspInit 0 */
810 /* Peripheral clock enable */
811 __HAL_RCC_TIM13_CLK_ENABLE();
812 /* USER CODE BEGIN TIM13_MspInit 1 */
813
814 /* USER CODE END TIM13_MspInit 1 */
815 }
816 else if(htim_base->Instance==TIM14)
817 {
818 /* USER CODE BEGIN TIM14_MspInit 0 */
819
820 /* USER CODE END TIM14_MspInit 0 */
821 /* Peripheral clock enable */
822 __HAL_RCC_TIM14_CLK_ENABLE();
823 /* USER CODE BEGIN TIM14_MspInit 1 */
824
825 /* USER CODE END TIM14_MspInit 1 */
826 }
827
828 }
829
HAL_TIM_MspPostInit(TIM_HandleTypeDef * htim)830 void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
831 {
832 GPIO_InitTypeDef GPIO_InitStruct = {0};
833 if(htim->Instance==TIM2)
834 {
835 /* USER CODE BEGIN TIM2_MspPostInit 0 */
836
837 /* USER CODE END TIM2_MspPostInit 0 */
838 __HAL_RCC_GPIOA_CLK_ENABLE();
839 /**TIM2 GPIO Configuration
840 PA3 ------> TIM2_CH4
841 */
842 GPIO_InitStruct.Pin = GPIO_PIN_3;
843 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
844 GPIO_InitStruct.Pull = GPIO_NOPULL;
845 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
846 GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;
847 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
848
849 /* USER CODE BEGIN TIM2_MspPostInit 1 */
850
851 /* USER CODE END TIM2_MspPostInit 1 */
852 }
853 else if(htim->Instance==TIM3)
854 {
855 /* USER CODE BEGIN TIM3_MspPostInit 0 */
856
857 /* USER CODE END TIM3_MspPostInit 0 */
858
859 __HAL_RCC_GPIOB_CLK_ENABLE();
860 /**TIM3 GPIO Configuration
861 PB0 ------> TIM3_CH3
862 */
863 GPIO_InitStruct.Pin = GPIO_PIN_0;
864 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
865 GPIO_InitStruct.Pull = GPIO_NOPULL;
866 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
867 GPIO_InitStruct.Alternate = GPIO_AF2_TIM3;
868 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
869
870 /* USER CODE BEGIN TIM3_MspPostInit 1 */
871
872 /* USER CODE END TIM3_MspPostInit 1 */
873 }
874
875 }
876 /**
877 * @brief TIM_PWM MSP De-Initialization
878 * This function freeze the hardware resources used in this example
879 * @param htim_pwm: TIM_PWM handle pointer
880 * @retval None
881 */
HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef * htim_pwm)882 void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* htim_pwm)
883 {
884 if(htim_pwm->Instance==TIM2)
885 {
886 /* USER CODE BEGIN TIM2_MspDeInit 0 */
887
888 /* USER CODE END TIM2_MspDeInit 0 */
889 /* Peripheral clock disable */
890 __HAL_RCC_TIM2_CLK_DISABLE();
891 /* USER CODE BEGIN TIM2_MspDeInit 1 */
892
893 /* USER CODE END TIM2_MspDeInit 1 */
894 }
895
896 }
897
898 /**
899 * @brief TIM_Base MSP De-Initialization
900 * This function freeze the hardware resources used in this example
901 * @param htim_base: TIM_Base handle pointer
902 * @retval None
903 */
HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef * htim_base)904 void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
905 {
906 if(htim_base->Instance==TIM3)
907 {
908 /* USER CODE BEGIN TIM3_MspDeInit 0 */
909
910 /* USER CODE END TIM3_MspDeInit 0 */
911 /* Peripheral clock disable */
912 __HAL_RCC_TIM3_CLK_DISABLE();
913 /* USER CODE BEGIN TIM3_MspDeInit 1 */
914
915 /* USER CODE END TIM3_MspDeInit 1 */
916 }
917 else if(htim_base->Instance==TIM11)
918 {
919 /* USER CODE BEGIN TIM11_MspDeInit 0 */
920
921 /* USER CODE END TIM11_MspDeInit 0 */
922 /* Peripheral clock disable */
923 __HAL_RCC_TIM11_CLK_DISABLE();
924 /* USER CODE BEGIN TIM11_MspDeInit 1 */
925
926 /* USER CODE END TIM11_MspDeInit 1 */
927 }
928 else if(htim_base->Instance==TIM13)
929 {
930 /* USER CODE BEGIN TIM13_MspDeInit 0 */
931
932 /* USER CODE END TIM13_MspDeInit 0 */
933 /* Peripheral clock disable */
934 __HAL_RCC_TIM13_CLK_DISABLE();
935 /* USER CODE BEGIN TIM13_MspDeInit 1 */
936
937 /* USER CODE END TIM13_MspDeInit 1 */
938 }
939 else if(htim_base->Instance==TIM14)
940 {
941 /* USER CODE BEGIN TIM14_MspDeInit 0 */
942
943 /* USER CODE END TIM14_MspDeInit 0 */
944 /* Peripheral clock disable */
945 __HAL_RCC_TIM14_CLK_DISABLE();
946 /* USER CODE BEGIN TIM14_MspDeInit 1 */
947
948 /* USER CODE END TIM14_MspDeInit 1 */
949 }
950
951 }
952
953 /**
954 * @brief UART MSP Initialization
955 * This function configures the hardware resources used in this example
956 * @param huart: UART handle pointer
957 * @retval None
958 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)959 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
960 {
961 GPIO_InitTypeDef GPIO_InitStruct = {0};
962 if(huart->Instance==USART1)
963 {
964 /* USER CODE BEGIN USART1_MspInit 0 */
965
966 /* USER CODE END USART1_MspInit 0 */
967 /* Peripheral clock enable */
968 __HAL_RCC_USART1_CLK_ENABLE();
969
970 __HAL_RCC_GPIOA_CLK_ENABLE();
971 /**USART1 GPIO Configuration
972 PA9 ------> USART1_TX
973 PA10 ------> USART1_RX
974 */
975 GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;
976 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
977 GPIO_InitStruct.Pull = GPIO_PULLUP;
978 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
979 GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
980 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
981
982 /* USER CODE BEGIN USART1_MspInit 1 */
983
984 /* USER CODE END USART1_MspInit 1 */
985 }
986 else if(huart->Instance==USART2)
987 {
988 /* USER CODE BEGIN USART2_MspInit 0 */
989
990 /* USER CODE END USART2_MspInit 0 */
991 /* Peripheral clock enable */
992 __HAL_RCC_USART2_CLK_ENABLE();
993
994 __HAL_RCC_GPIOD_CLK_ENABLE();
995 /**USART2 GPIO Configuration
996 PD5 ------> USART2_TX
997 PD6 ------> USART2_RX
998 */
999 GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6;
1000 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1001 GPIO_InitStruct.Pull = GPIO_PULLUP;
1002 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1003 GPIO_InitStruct.Alternate = GPIO_AF7_USART2;
1004 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
1005
1006 /* USER CODE BEGIN USART2_MspInit 1 */
1007
1008 /* USER CODE END USART2_MspInit 1 */
1009 }
1010
1011 }
1012
1013 /**
1014 * @brief UART MSP De-Initialization
1015 * This function freeze the hardware resources used in this example
1016 * @param huart: UART handle pointer
1017 * @retval None
1018 */
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)1019 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
1020 {
1021 if(huart->Instance==USART1)
1022 {
1023 /* USER CODE BEGIN USART1_MspDeInit 0 */
1024
1025 /* USER CODE END USART1_MspDeInit 0 */
1026 /* Peripheral clock disable */
1027 __HAL_RCC_USART1_CLK_DISABLE();
1028
1029 /**USART1 GPIO Configuration
1030 PA9 ------> USART1_TX
1031 PA10 ------> USART1_RX
1032 */
1033 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
1034
1035 /* USER CODE BEGIN USART1_MspDeInit 1 */
1036
1037 /* USER CODE END USART1_MspDeInit 1 */
1038 }
1039 else if(huart->Instance==USART2)
1040 {
1041 /* USER CODE BEGIN USART2_MspDeInit 0 */
1042
1043 /* USER CODE END USART2_MspDeInit 0 */
1044 /* Peripheral clock disable */
1045 __HAL_RCC_USART2_CLK_DISABLE();
1046
1047 /**USART2 GPIO Configuration
1048 PD5 ------> USART2_TX
1049 PD6 ------> USART2_RX
1050 */
1051 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_5|GPIO_PIN_6);
1052
1053 /* USER CODE BEGIN USART2_MspDeInit 1 */
1054
1055 /* USER CODE END USART2_MspDeInit 1 */
1056 }
1057
1058 }
1059
1060 /**
1061 * @brief HCD MSP Initialization
1062 * This function configures the hardware resources used in this example
1063 * @param hhcd: HCD handle pointer
1064 * @retval None
1065 */
HAL_HCD_MspInit(HCD_HandleTypeDef * hhcd)1066 void HAL_HCD_MspInit(HCD_HandleTypeDef* hhcd)
1067 {
1068 GPIO_InitTypeDef GPIO_InitStruct = {0};
1069 if(hhcd->Instance==USB_OTG_FS)
1070 {
1071 /* USER CODE BEGIN USB_OTG_FS_MspInit 0 */
1072
1073 /* USER CODE END USB_OTG_FS_MspInit 0 */
1074
1075 __HAL_RCC_GPIOA_CLK_ENABLE();
1076 /**USB_OTG_FS GPIO Configuration
1077 PA11 ------> USB_OTG_FS_DM
1078 PA12 ------> USB_OTG_FS_DP
1079 */
1080 GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12;
1081 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1082 GPIO_InitStruct.Pull = GPIO_NOPULL;
1083 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1084 GPIO_InitStruct.Alternate = GPIO_AF10_OTG_FS;
1085 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
1086
1087 /* Peripheral clock enable */
1088 __HAL_RCC_USB_OTG_FS_CLK_ENABLE();
1089 /* USB_OTG_FS interrupt Init */
1090 HAL_NVIC_SetPriority(OTG_FS_IRQn, 0, 0);
1091 HAL_NVIC_EnableIRQ(OTG_FS_IRQn);
1092 /* USER CODE BEGIN USB_OTG_FS_MspInit 1 */
1093
1094 /* USER CODE END USB_OTG_FS_MspInit 1 */
1095 }
1096
1097 }
1098
1099 /**
1100 * @brief HCD MSP De-Initialization
1101 * This function freeze the hardware resources used in this example
1102 * @param hhcd: HCD handle pointer
1103 * @retval None
1104 */
HAL_HCD_MspDeInit(HCD_HandleTypeDef * hhcd)1105 void HAL_HCD_MspDeInit(HCD_HandleTypeDef* hhcd)
1106 {
1107 if(hhcd->Instance==USB_OTG_FS)
1108 {
1109 /* USER CODE BEGIN USB_OTG_FS_MspDeInit 0 */
1110
1111 /* USER CODE END USB_OTG_FS_MspDeInit 0 */
1112 /* Peripheral clock disable */
1113 __HAL_RCC_USB_OTG_FS_CLK_DISABLE();
1114
1115 /**USB_OTG_FS GPIO Configuration
1116 PA11 ------> USB_OTG_FS_DM
1117 PA12 ------> USB_OTG_FS_DP
1118 */
1119 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_11|GPIO_PIN_12);
1120
1121 /* USB_OTG_FS interrupt DeInit */
1122 HAL_NVIC_DisableIRQ(OTG_FS_IRQn);
1123 /* USER CODE BEGIN USB_OTG_FS_MspDeInit 1 */
1124
1125 /* USER CODE END USB_OTG_FS_MspDeInit 1 */
1126 }
1127
1128 }
1129
1130 static uint32_t FMC_Initialized = 0;
1131
HAL_FMC_MspInit(void)1132 static void HAL_FMC_MspInit(void){
1133 /* USER CODE BEGIN FMC_MspInit 0 */
1134
1135 /* USER CODE END FMC_MspInit 0 */
1136 GPIO_InitTypeDef GPIO_InitStruct ={0};
1137 if (FMC_Initialized) {
1138 return;
1139 }
1140 FMC_Initialized = 1;
1141 /* Peripheral clock enable */
1142 __HAL_RCC_FMC_CLK_ENABLE();
1143
1144 /** FMC GPIO Configuration
1145 PF0 ------> FMC_A0
1146 PF1 ------> FMC_A1
1147 PF2 ------> FMC_A2
1148 PF3 ------> FMC_A3
1149 PF4 ------> FMC_A4
1150 PF5 ------> FMC_A5
1151 PC0 ------> FMC_SDNWE
1152 PC2 ------> FMC_SDNE0
1153 PC3 ------> FMC_SDCKE0
1154 PF11 ------> FMC_SDNRAS
1155 PF12 ------> FMC_A6
1156 PF13 ------> FMC_A7
1157 PF14 ------> FMC_A8
1158 PF15 ------> FMC_A9
1159 PG0 ------> FMC_A10
1160 PG1 ------> FMC_A11
1161 PE7 ------> FMC_D4
1162 PE8 ------> FMC_D5
1163 PE9 ------> FMC_D6
1164 PE10 ------> FMC_D7
1165 PE11 ------> FMC_D8
1166 PE12 ------> FMC_D9
1167 PE13 ------> FMC_D10
1168 PE14 ------> FMC_D11
1169 PE15 ------> FMC_D12
1170 PD8 ------> FMC_D13
1171 PD9 ------> FMC_D14
1172 PD10 ------> FMC_D15
1173 PD14 ------> FMC_D0
1174 PD15 ------> FMC_D1
1175 PG2 ------> FMC_A12
1176 PG4 ------> FMC_BA0
1177 PG5 ------> FMC_BA1
1178 PG8 ------> FMC_SDCLK
1179 PD0 ------> FMC_D2
1180 PD1 ------> FMC_D3
1181 PG15 ------> FMC_SDNCAS
1182 */
1183 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
1184 |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_11|GPIO_PIN_12
1185 |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
1186 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1187 GPIO_InitStruct.Pull = GPIO_NOPULL;
1188 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1189 GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1190 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
1191
1192 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_3;
1193 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1194 GPIO_InitStruct.Pull = GPIO_NOPULL;
1195 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1196 GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1197 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
1198
1199 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_4
1200 |GPIO_PIN_5|GPIO_PIN_8|GPIO_PIN_15;
1201 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1202 GPIO_InitStruct.Pull = GPIO_NOPULL;
1203 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1204 GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1205 HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
1206
1207 GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10
1208 |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
1209 |GPIO_PIN_15;
1210 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1211 GPIO_InitStruct.Pull = GPIO_NOPULL;
1212 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1213 GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1214 HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
1215
1216 GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_14
1217 |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1;
1218 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1219 GPIO_InitStruct.Pull = GPIO_NOPULL;
1220 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1221 GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1222 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
1223
1224 /* USER CODE BEGIN FMC_MspInit 1 */
1225
1226 /* USER CODE END FMC_MspInit 1 */
1227 }
1228
HAL_SDRAM_MspInit(SDRAM_HandleTypeDef * hsdram)1229 void HAL_SDRAM_MspInit(SDRAM_HandleTypeDef* hsdram){
1230 /* USER CODE BEGIN SDRAM_MspInit 0 */
1231
1232 /* USER CODE END SDRAM_MspInit 0 */
1233 HAL_FMC_MspInit();
1234 /* USER CODE BEGIN SDRAM_MspInit 1 */
1235
1236 /* USER CODE END SDRAM_MspInit 1 */
1237 }
1238
1239 static uint32_t FMC_DeInitialized = 0;
1240
HAL_FMC_MspDeInit(void)1241 static void HAL_FMC_MspDeInit(void){
1242 /* USER CODE BEGIN FMC_MspDeInit 0 */
1243
1244 /* USER CODE END FMC_MspDeInit 0 */
1245 if (FMC_DeInitialized) {
1246 return;
1247 }
1248 FMC_DeInitialized = 1;
1249 /* Peripheral clock enable */
1250 __HAL_RCC_FMC_CLK_DISABLE();
1251
1252 /** FMC GPIO Configuration
1253 PF0 ------> FMC_A0
1254 PF1 ------> FMC_A1
1255 PF2 ------> FMC_A2
1256 PF3 ------> FMC_A3
1257 PF4 ------> FMC_A4
1258 PF5 ------> FMC_A5
1259 PC0 ------> FMC_SDNWE
1260 PC2 ------> FMC_SDNE0
1261 PC3 ------> FMC_SDCKE0
1262 PF11 ------> FMC_SDNRAS
1263 PF12 ------> FMC_A6
1264 PF13 ------> FMC_A7
1265 PF14 ------> FMC_A8
1266 PF15 ------> FMC_A9
1267 PG0 ------> FMC_A10
1268 PG1 ------> FMC_A11
1269 PE7 ------> FMC_D4
1270 PE8 ------> FMC_D5
1271 PE9 ------> FMC_D6
1272 PE10 ------> FMC_D7
1273 PE11 ------> FMC_D8
1274 PE12 ------> FMC_D9
1275 PE13 ------> FMC_D10
1276 PE14 ------> FMC_D11
1277 PE15 ------> FMC_D12
1278 PD8 ------> FMC_D13
1279 PD9 ------> FMC_D14
1280 PD10 ------> FMC_D15
1281 PD14 ------> FMC_D0
1282 PD15 ------> FMC_D1
1283 PG2 ------> FMC_A12
1284 PG4 ------> FMC_BA0
1285 PG5 ------> FMC_BA1
1286 PG8 ------> FMC_SDCLK
1287 PD0 ------> FMC_D2
1288 PD1 ------> FMC_D3
1289 PG15 ------> FMC_SDNCAS
1290 */
1291 HAL_GPIO_DeInit(GPIOF, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
1292 |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_11|GPIO_PIN_12
1293 |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
1294
1295 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_3);
1296
1297 HAL_GPIO_DeInit(GPIOG, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_4
1298 |GPIO_PIN_5|GPIO_PIN_8|GPIO_PIN_15);
1299
1300 HAL_GPIO_DeInit(GPIOE, GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10
1301 |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
1302 |GPIO_PIN_15);
1303
1304 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_14
1305 |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1);
1306
1307 /* USER CODE BEGIN FMC_MspDeInit 1 */
1308
1309 /* USER CODE END FMC_MspDeInit 1 */
1310 }
1311
HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef * hsdram)1312 void HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef* hsdram){
1313 /* USER CODE BEGIN SDRAM_MspDeInit 0 */
1314
1315 /* USER CODE END SDRAM_MspDeInit 0 */
1316 HAL_FMC_MspDeInit();
1317 /* USER CODE BEGIN SDRAM_MspDeInit 1 */
1318
1319 /* USER CODE END SDRAM_MspDeInit 1 */
1320 }
1321
1322 /* USER CODE BEGIN 1 */
1323
1324 /* USER CODE END 1 */
1325
1326 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
1327