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) 2020 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_GPIOB_CLK_ENABLE();
100 /**ADC1 GPIO Configuration
101 PB1 ------> ADC1_IN9
102 */
103 GPIO_InitStruct.Pin = GPIO_PIN_1;
104 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
105 GPIO_InitStruct.Pull = GPIO_NOPULL;
106 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
107
108 /* USER CODE BEGIN ADC1_MspInit 1 */
109
110 /* USER CODE END ADC1_MspInit 1 */
111 }
112
113 }
114
115 /**
116 * @brief ADC MSP De-Initialization
117 * This function freeze the hardware resources used in this example
118 * @param hadc: ADC handle pointer
119 * @retval None
120 */
HAL_ADC_MspDeInit(ADC_HandleTypeDef * hadc)121 void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
122 {
123 if(hadc->Instance==ADC1)
124 {
125 /* USER CODE BEGIN ADC1_MspDeInit 0 */
126
127 /* USER CODE END ADC1_MspDeInit 0 */
128 /* Peripheral clock disable */
129 __HAL_RCC_ADC1_CLK_DISABLE();
130
131 /**ADC1 GPIO Configuration
132 PB1 ------> ADC1_IN9
133 */
134 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_1);
135
136 /* USER CODE BEGIN ADC1_MspDeInit 1 */
137
138 /* USER CODE END ADC1_MspDeInit 1 */
139 }
140
141 }
142
143 /**
144 * @brief I2S MSP Initialization
145 * This function configures the hardware resources used in this example
146 * @param hi2s: I2S handle pointer
147 * @retval None
148 */
HAL_I2S_MspInit(I2S_HandleTypeDef * hi2s)149 void HAL_I2S_MspInit(I2S_HandleTypeDef* hi2s)
150 {
151 GPIO_InitTypeDef GPIO_InitStruct = {0};
152 if(hi2s->Instance==SPI2)
153 {
154 /* USER CODE BEGIN SPI2_MspInit 0 */
155
156 /* USER CODE END SPI2_MspInit 0 */
157 /* Peripheral clock enable */
158 __HAL_RCC_SPI2_CLK_ENABLE();
159
160 __HAL_RCC_GPIOB_CLK_ENABLE();
161 __HAL_RCC_GPIOC_CLK_ENABLE();
162 __HAL_RCC_GPIOI_CLK_ENABLE();
163 /**I2S2 GPIO Configuration
164 PB12 ------> I2S2_WS
165 PB13 ------> I2S2_CK
166 PB15 ------> I2S2_SD
167 PC6 ------> I2S2_MCK
168 PI2 ------> I2S2_ext_SD
169 */
170 GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_15;
171 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
172 GPIO_InitStruct.Pull = GPIO_NOPULL;
173 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
174 GPIO_InitStruct.Alternate = GPIO_AF5_SPI2;
175 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
176
177 GPIO_InitStruct.Pin = GPIO_PIN_6;
178 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
179 GPIO_InitStruct.Pull = GPIO_NOPULL;
180 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
181 GPIO_InitStruct.Alternate = GPIO_AF5_SPI2;
182 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
183
184 GPIO_InitStruct.Pin = GPIO_PIN_2;
185 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
186 GPIO_InitStruct.Pull = GPIO_NOPULL;
187 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
188 GPIO_InitStruct.Alternate = GPIO_AF6_I2S2ext;
189 HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
190
191 /* USER CODE BEGIN SPI2_MspInit 1 */
192
193 /* USER CODE END SPI2_MspInit 1 */
194 }
195
196 }
197
198 /**
199 * @brief I2S MSP De-Initialization
200 * This function freeze the hardware resources used in this example
201 * @param hi2s: I2S handle pointer
202 * @retval None
203 */
HAL_I2S_MspDeInit(I2S_HandleTypeDef * hi2s)204 void HAL_I2S_MspDeInit(I2S_HandleTypeDef* hi2s)
205 {
206 if(hi2s->Instance==SPI2)
207 {
208 /* USER CODE BEGIN SPI2_MspDeInit 0 */
209
210 /* USER CODE END SPI2_MspDeInit 0 */
211 /* Peripheral clock disable */
212 __HAL_RCC_SPI2_CLK_DISABLE();
213
214 /**I2S2 GPIO Configuration
215 PB12 ------> I2S2_WS
216 PB13 ------> I2S2_CK
217 PB15 ------> I2S2_SD
218 PC6 ------> I2S2_MCK
219 PI2 ------> I2S2_ext_SD
220 */
221 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_15);
222
223 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_6);
224
225 HAL_GPIO_DeInit(GPIOI, GPIO_PIN_2);
226
227 /* USER CODE BEGIN SPI2_MspDeInit 1 */
228
229 /* USER CODE END SPI2_MspDeInit 1 */
230 }
231
232 }
233
234 /**
235 * @brief RNG MSP Initialization
236 * This function configures the hardware resources used in this example
237 * @param hrng: RNG handle pointer
238 * @retval None
239 */
HAL_RNG_MspInit(RNG_HandleTypeDef * hrng)240 void HAL_RNG_MspInit(RNG_HandleTypeDef* hrng)
241 {
242 if(hrng->Instance==RNG)
243 {
244 /* USER CODE BEGIN RNG_MspInit 0 */
245
246 /* USER CODE END RNG_MspInit 0 */
247 /* Peripheral clock enable */
248 __HAL_RCC_RNG_CLK_ENABLE();
249 /* USER CODE BEGIN RNG_MspInit 1 */
250
251 /* USER CODE END RNG_MspInit 1 */
252 }
253
254 }
255
256 /**
257 * @brief RNG MSP De-Initialization
258 * This function freeze the hardware resources used in this example
259 * @param hrng: RNG handle pointer
260 * @retval None
261 */
HAL_RNG_MspDeInit(RNG_HandleTypeDef * hrng)262 void HAL_RNG_MspDeInit(RNG_HandleTypeDef* hrng)
263 {
264 if(hrng->Instance==RNG)
265 {
266 /* USER CODE BEGIN RNG_MspDeInit 0 */
267
268 /* USER CODE END RNG_MspDeInit 0 */
269 /* Peripheral clock disable */
270 __HAL_RCC_RNG_CLK_DISABLE();
271 /* USER CODE BEGIN RNG_MspDeInit 1 */
272
273 /* USER CODE END RNG_MspDeInit 1 */
274 }
275
276 }
277
278 /**
279 * @brief RTC MSP Initialization
280 * This function configures the hardware resources used in this example
281 * @param hrtc: RTC handle pointer
282 * @retval None
283 */
HAL_RTC_MspInit(RTC_HandleTypeDef * hrtc)284 void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
285 {
286 if(hrtc->Instance==RTC)
287 {
288 /* USER CODE BEGIN RTC_MspInit 0 */
289
290 /* USER CODE END RTC_MspInit 0 */
291 /* Peripheral clock enable */
292 __HAL_RCC_RTC_ENABLE();
293 /* USER CODE BEGIN RTC_MspInit 1 */
294
295 /* USER CODE END RTC_MspInit 1 */
296 }
297
298 }
299
300 /**
301 * @brief RTC MSP De-Initialization
302 * This function freeze the hardware resources used in this example
303 * @param hrtc: RTC handle pointer
304 * @retval None
305 */
HAL_RTC_MspDeInit(RTC_HandleTypeDef * hrtc)306 void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
307 {
308 if(hrtc->Instance==RTC)
309 {
310 /* USER CODE BEGIN RTC_MspDeInit 0 */
311
312 /* USER CODE END RTC_MspDeInit 0 */
313 /* Peripheral clock disable */
314 __HAL_RCC_RTC_DISABLE();
315 /* USER CODE BEGIN RTC_MspDeInit 1 */
316
317 /* USER CODE END RTC_MspDeInit 1 */
318 }
319
320 }
321
322 /**
323 * @brief SD MSP Initialization
324 * This function configures the hardware resources used in this example
325 * @param hsd: SD handle pointer
326 * @retval None
327 */
HAL_SD_MspInit(SD_HandleTypeDef * hsd)328 void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
329 {
330 GPIO_InitTypeDef GPIO_InitStruct = {0};
331 if(hsd->Instance==SDIO)
332 {
333 /* USER CODE BEGIN SDIO_MspInit 0 */
334
335 /* USER CODE END SDIO_MspInit 0 */
336 /* Peripheral clock enable */
337 __HAL_RCC_SDIO_CLK_ENABLE();
338
339 __HAL_RCC_GPIOC_CLK_ENABLE();
340 __HAL_RCC_GPIOD_CLK_ENABLE();
341 /**SDIO GPIO Configuration
342 PC8 ------> SDIO_D0
343 PC9 ------> SDIO_D1
344 PC10 ------> SDIO_D2
345 PC11 ------> SDIO_D3
346 PC12 ------> SDIO_CK
347 PD2 ------> SDIO_CMD
348 */
349 GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
350 |GPIO_PIN_12;
351 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
352 GPIO_InitStruct.Pull = GPIO_NOPULL;
353 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
354 GPIO_InitStruct.Alternate = GPIO_AF12_SDIO;
355 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
356
357 GPIO_InitStruct.Pin = GPIO_PIN_2;
358 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
359 GPIO_InitStruct.Pull = GPIO_NOPULL;
360 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
361 GPIO_InitStruct.Alternate = GPIO_AF12_SDIO;
362 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
363
364 /* USER CODE BEGIN SDIO_MspInit 1 */
365
366 /* USER CODE END SDIO_MspInit 1 */
367 }
368
369 }
370
371 /**
372 * @brief SD MSP De-Initialization
373 * This function freeze the hardware resources used in this example
374 * @param hsd: SD handle pointer
375 * @retval None
376 */
HAL_SD_MspDeInit(SD_HandleTypeDef * hsd)377 void HAL_SD_MspDeInit(SD_HandleTypeDef* hsd)
378 {
379 if(hsd->Instance==SDIO)
380 {
381 /* USER CODE BEGIN SDIO_MspDeInit 0 */
382
383 /* USER CODE END SDIO_MspDeInit 0 */
384 /* Peripheral clock disable */
385 __HAL_RCC_SDIO_CLK_DISABLE();
386
387 /**SDIO GPIO Configuration
388 PC8 ------> SDIO_D0
389 PC9 ------> SDIO_D1
390 PC10 ------> SDIO_D2
391 PC11 ------> SDIO_D3
392 PC12 ------> SDIO_CK
393 PD2 ------> SDIO_CMD
394 */
395 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
396 |GPIO_PIN_12);
397
398 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2);
399
400 /* USER CODE BEGIN SDIO_MspDeInit 1 */
401
402 /* USER CODE END SDIO_MspDeInit 1 */
403 }
404
405 }
406
407 /**
408 * @brief SPI MSP Initialization
409 * This function configures the hardware resources used in this example
410 * @param hspi: SPI handle pointer
411 * @retval None
412 */
HAL_SPI_MspInit(SPI_HandleTypeDef * hspi)413 void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
414 {
415 GPIO_InitTypeDef GPIO_InitStruct = {0};
416 if(hspi->Instance==SPI3)
417 {
418 /* USER CODE BEGIN SPI3_MspInit 0 */
419
420 /* USER CODE END SPI3_MspInit 0 */
421 /* Peripheral clock enable */
422 __HAL_RCC_SPI3_CLK_ENABLE();
423
424 __HAL_RCC_GPIOB_CLK_ENABLE();
425 /**SPI3 GPIO Configuration
426 PB3 ------> SPI3_SCK
427 PB4 ------> SPI3_MISO
428 PB5 ------> SPI3_MOSI
429 */
430 GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5;
431 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
432 GPIO_InitStruct.Pull = GPIO_NOPULL;
433 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
434 GPIO_InitStruct.Alternate = GPIO_AF6_SPI3;
435 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
436
437 /* USER CODE BEGIN SPI3_MspInit 1 */
438
439 /* USER CODE END SPI3_MspInit 1 */
440 }
441
442 }
443
444 /**
445 * @brief SPI MSP De-Initialization
446 * This function freeze the hardware resources used in this example
447 * @param hspi: SPI handle pointer
448 * @retval None
449 */
HAL_SPI_MspDeInit(SPI_HandleTypeDef * hspi)450 void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
451 {
452 if(hspi->Instance==SPI3)
453 {
454 /* USER CODE BEGIN SPI3_MspDeInit 0 */
455
456 /* USER CODE END SPI3_MspDeInit 0 */
457 /* Peripheral clock disable */
458 __HAL_RCC_SPI3_CLK_DISABLE();
459
460 /**SPI3 GPIO Configuration
461 PB3 ------> SPI3_SCK
462 PB4 ------> SPI3_MISO
463 PB5 ------> SPI3_MOSI
464 */
465 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5);
466
467 /* USER CODE BEGIN SPI3_MspDeInit 1 */
468
469 /* USER CODE END SPI3_MspDeInit 1 */
470 }
471
472 }
473
474 /**
475 * @brief TIM_Base MSP Initialization
476 * This function configures the hardware resources used in this example
477 * @param htim_base: TIM_Base handle pointer
478 * @retval None
479 */
HAL_TIM_Base_MspInit(TIM_HandleTypeDef * htim_base)480 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
481 {
482 if(htim_base->Instance==TIM10)
483 {
484 /* USER CODE BEGIN TIM10_MspInit 0 */
485
486 /* USER CODE END TIM10_MspInit 0 */
487 /* Peripheral clock enable */
488 __HAL_RCC_TIM10_CLK_ENABLE();
489 /* USER CODE BEGIN TIM10_MspInit 1 */
490
491 /* USER CODE END TIM10_MspInit 1 */
492 }
493 else if(htim_base->Instance==TIM11)
494 {
495 /* USER CODE BEGIN TIM11_MspInit 0 */
496
497 /* USER CODE END TIM11_MspInit 0 */
498 /* Peripheral clock enable */
499 __HAL_RCC_TIM11_CLK_ENABLE();
500 /* USER CODE BEGIN TIM11_MspInit 1 */
501
502 /* USER CODE END TIM11_MspInit 1 */
503 }
504 else if(htim_base->Instance==TIM13)
505 {
506 /* USER CODE BEGIN TIM13_MspInit 0 */
507
508 /* USER CODE END TIM13_MspInit 0 */
509 /* Peripheral clock enable */
510 __HAL_RCC_TIM13_CLK_ENABLE();
511 /* USER CODE BEGIN TIM13_MspInit 1 */
512
513 /* USER CODE END TIM13_MspInit 1 */
514 }
515 else if(htim_base->Instance==TIM14)
516 {
517 /* USER CODE BEGIN TIM14_MspInit 0 */
518
519 /* USER CODE END TIM14_MspInit 0 */
520 /* Peripheral clock enable */
521 __HAL_RCC_TIM14_CLK_ENABLE();
522 /* USER CODE BEGIN TIM14_MspInit 1 */
523
524 /* USER CODE END TIM14_MspInit 1 */
525 }
526
527 }
528
HAL_TIM_MspPostInit(TIM_HandleTypeDef * htim)529 void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
530 {
531 GPIO_InitTypeDef GPIO_InitStruct = {0};
532 if(htim->Instance==TIM10)
533 {
534 /* USER CODE BEGIN TIM10_MspPostInit 0 */
535
536 /* USER CODE END TIM10_MspPostInit 0 */
537
538 __HAL_RCC_GPIOF_CLK_ENABLE();
539 /**TIM10 GPIO Configuration
540 PF6 ------> TIM10_CH1
541 */
542 GPIO_InitStruct.Pin = GPIO_PIN_6;
543 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
544 GPIO_InitStruct.Pull = GPIO_NOPULL;
545 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
546 GPIO_InitStruct.Alternate = GPIO_AF3_TIM10;
547 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
548
549 /* USER CODE BEGIN TIM10_MspPostInit 1 */
550
551 /* USER CODE END TIM10_MspPostInit 1 */
552 }
553
554 }
555 /**
556 * @brief TIM_Base MSP De-Initialization
557 * This function freeze the hardware resources used in this example
558 * @param htim_base: TIM_Base handle pointer
559 * @retval None
560 */
HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef * htim_base)561 void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
562 {
563 if(htim_base->Instance==TIM10)
564 {
565 /* USER CODE BEGIN TIM10_MspDeInit 0 */
566
567 /* USER CODE END TIM10_MspDeInit 0 */
568 /* Peripheral clock disable */
569 __HAL_RCC_TIM10_CLK_DISABLE();
570 /* USER CODE BEGIN TIM10_MspDeInit 1 */
571
572 /* USER CODE END TIM10_MspDeInit 1 */
573 }
574 else if(htim_base->Instance==TIM11)
575 {
576 /* USER CODE BEGIN TIM11_MspDeInit 0 */
577
578 /* USER CODE END TIM11_MspDeInit 0 */
579 /* Peripheral clock disable */
580 __HAL_RCC_TIM11_CLK_DISABLE();
581 /* USER CODE BEGIN TIM11_MspDeInit 1 */
582
583 /* USER CODE END TIM11_MspDeInit 1 */
584 }
585 else if(htim_base->Instance==TIM13)
586 {
587 /* USER CODE BEGIN TIM13_MspDeInit 0 */
588
589 /* USER CODE END TIM13_MspDeInit 0 */
590 /* Peripheral clock disable */
591 __HAL_RCC_TIM13_CLK_DISABLE();
592 /* USER CODE BEGIN TIM13_MspDeInit 1 */
593
594 /* USER CODE END TIM13_MspDeInit 1 */
595 }
596 else if(htim_base->Instance==TIM14)
597 {
598 /* USER CODE BEGIN TIM14_MspDeInit 0 */
599
600 /* USER CODE END TIM14_MspDeInit 0 */
601 /* Peripheral clock disable */
602 __HAL_RCC_TIM14_CLK_DISABLE();
603 /* USER CODE BEGIN TIM14_MspDeInit 1 */
604
605 /* USER CODE END TIM14_MspDeInit 1 */
606 }
607
608 }
609
610 /**
611 * @brief UART MSP Initialization
612 * This function configures the hardware resources used in this example
613 * @param huart: UART handle pointer
614 * @retval None
615 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)616 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
617 {
618 GPIO_InitTypeDef GPIO_InitStruct = {0};
619 if(huart->Instance==USART1)
620 {
621 /* USER CODE BEGIN USART1_MspInit 0 */
622
623 /* USER CODE END USART1_MspInit 0 */
624 /* Peripheral clock enable */
625 __HAL_RCC_USART1_CLK_ENABLE();
626
627 __HAL_RCC_GPIOA_CLK_ENABLE();
628 /**USART1 GPIO Configuration
629 PA9 ------> USART1_TX
630 PA10 ------> USART1_RX
631 */
632 GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;
633 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
634 GPIO_InitStruct.Pull = GPIO_PULLUP;
635 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
636 GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
637 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
638
639 /* USER CODE BEGIN USART1_MspInit 1 */
640
641 /* USER CODE END USART1_MspInit 1 */
642 }
643 else if(huart->Instance==USART2)
644 {
645 /* USER CODE BEGIN USART2_MspInit 0 */
646
647 /* USER CODE END USART2_MspInit 0 */
648 /* Peripheral clock enable */
649 __HAL_RCC_USART2_CLK_ENABLE();
650
651 __HAL_RCC_GPIOA_CLK_ENABLE();
652 /**USART2 GPIO Configuration
653 PA2 ------> USART2_TX
654 PA3 ------> USART2_RX
655 */
656 GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
657 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
658 GPIO_InitStruct.Pull = GPIO_PULLUP;
659 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
660 GPIO_InitStruct.Alternate = GPIO_AF7_USART2;
661 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
662
663 /* USER CODE BEGIN USART2_MspInit 1 */
664
665 /* USER CODE END USART2_MspInit 1 */
666 }
667
668 }
669
670 /**
671 * @brief UART MSP De-Initialization
672 * This function freeze the hardware resources used in this example
673 * @param huart: UART handle pointer
674 * @retval None
675 */
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)676 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
677 {
678 if(huart->Instance==USART1)
679 {
680 /* USER CODE BEGIN USART1_MspDeInit 0 */
681
682 /* USER CODE END USART1_MspDeInit 0 */
683 /* Peripheral clock disable */
684 __HAL_RCC_USART1_CLK_DISABLE();
685
686 /**USART1 GPIO Configuration
687 PA9 ------> USART1_TX
688 PA10 ------> USART1_RX
689 */
690 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
691
692 /* USER CODE BEGIN USART1_MspDeInit 1 */
693
694 /* USER CODE END USART1_MspDeInit 1 */
695 }
696 else if(huart->Instance==USART2)
697 {
698 /* USER CODE BEGIN USART2_MspDeInit 0 */
699
700 /* USER CODE END USART2_MspDeInit 0 */
701 /* Peripheral clock disable */
702 __HAL_RCC_USART2_CLK_DISABLE();
703
704 /**USART2 GPIO Configuration
705 PA2 ------> USART2_TX
706 PA3 ------> USART2_RX
707 */
708 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
709
710 /* USER CODE BEGIN USART2_MspDeInit 1 */
711
712 /* USER CODE END USART2_MspDeInit 1 */
713 }
714
715 }
716
717 /* USER CODE BEGIN 1 */
718
719 /* USER CODE END 1 */
720
721 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
722