1 /* USER CODE BEGIN Header */
2 /**
3 ******************************************************************************
4 * @file stm32f4xx_hal_msp.c
5 * @brief This file provides code for the MSP Initialization
6 * and de-Initialization codes.
7 ******************************************************************************
8 * @attention
9 *
10 * <h2><center>© Copyright (c) 2021 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 /* USER CODE BEGIN ADC1_MspInit 1 */
99
100 /* USER CODE END ADC1_MspInit 1 */
101 }
102 else if(hadc->Instance==ADC3)
103 {
104 /* USER CODE BEGIN ADC3_MspInit 0 */
105
106 /* USER CODE END ADC3_MspInit 0 */
107 /* Peripheral clock enable */
108 __HAL_RCC_ADC3_CLK_ENABLE();
109
110 __HAL_RCC_GPIOF_CLK_ENABLE();
111 /**ADC3 GPIO Configuration
112 PF10 ------> ADC3_IN8
113 */
114 GPIO_InitStruct.Pin = GPIO_PIN_10;
115 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
116 GPIO_InitStruct.Pull = GPIO_NOPULL;
117 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
118
119 /* USER CODE BEGIN ADC3_MspInit 1 */
120
121 /* USER CODE END ADC3_MspInit 1 */
122 }
123
124 }
125
126 /**
127 * @brief ADC MSP De-Initialization
128 * This function freeze the hardware resources used in this example
129 * @param hadc: ADC handle pointer
130 * @retval None
131 */
HAL_ADC_MspDeInit(ADC_HandleTypeDef * hadc)132 void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
133 {
134 if(hadc->Instance==ADC1)
135 {
136 /* USER CODE BEGIN ADC1_MspDeInit 0 */
137
138 /* USER CODE END ADC1_MspDeInit 0 */
139 /* Peripheral clock disable */
140 __HAL_RCC_ADC1_CLK_DISABLE();
141 /* USER CODE BEGIN ADC1_MspDeInit 1 */
142
143 /* USER CODE END ADC1_MspDeInit 1 */
144 }
145 else if(hadc->Instance==ADC3)
146 {
147 /* USER CODE BEGIN ADC3_MspDeInit 0 */
148
149 /* USER CODE END ADC3_MspDeInit 0 */
150 /* Peripheral clock disable */
151 __HAL_RCC_ADC3_CLK_DISABLE();
152
153 /**ADC3 GPIO Configuration
154 PF10 ------> ADC3_IN8
155 */
156 HAL_GPIO_DeInit(GPIOF, GPIO_PIN_10);
157
158 /* USER CODE BEGIN ADC3_MspDeInit 1 */
159
160 /* USER CODE END ADC3_MspDeInit 1 */
161 }
162
163 }
164
165 static uint32_t HAL_RCC_CAN1_CLK_ENABLED=0;
166
167 /**
168 * @brief CAN MSP Initialization
169 * This function configures the hardware resources used in this example
170 * @param hcan: CAN handle pointer
171 * @retval None
172 */
HAL_CAN_MspInit(CAN_HandleTypeDef * hcan)173 void HAL_CAN_MspInit(CAN_HandleTypeDef* hcan)
174 {
175 GPIO_InitTypeDef GPIO_InitStruct = {0};
176 if(hcan->Instance==CAN1)
177 {
178 /* USER CODE BEGIN CAN1_MspInit 0 */
179
180 /* USER CODE END CAN1_MspInit 0 */
181 /* Peripheral clock enable */
182 HAL_RCC_CAN1_CLK_ENABLED++;
183 if(HAL_RCC_CAN1_CLK_ENABLED==1){
184 __HAL_RCC_CAN1_CLK_ENABLE();
185 }
186
187 __HAL_RCC_GPIOD_CLK_ENABLE();
188 /**CAN1 GPIO Configuration
189 PD0 ------> CAN1_RX
190 PD1 ------> CAN1_TX
191 */
192 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
193 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
194 GPIO_InitStruct.Pull = GPIO_NOPULL;
195 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
196 GPIO_InitStruct.Alternate = GPIO_AF9_CAN1;
197 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
198
199 /* USER CODE BEGIN CAN1_MspInit 1 */
200
201 /* USER CODE END CAN1_MspInit 1 */
202 }
203 else if(hcan->Instance==CAN2)
204 {
205 /* USER CODE BEGIN CAN2_MspInit 0 */
206
207 /* USER CODE END CAN2_MspInit 0 */
208 /* Peripheral clock enable */
209 __HAL_RCC_CAN2_CLK_ENABLE();
210 HAL_RCC_CAN1_CLK_ENABLED++;
211 if(HAL_RCC_CAN1_CLK_ENABLED==1){
212 __HAL_RCC_CAN1_CLK_ENABLE();
213 }
214
215 __HAL_RCC_GPIOB_CLK_ENABLE();
216 /**CAN2 GPIO Configuration
217 PB5 ------> CAN2_RX
218 PB6 ------> CAN2_TX
219 */
220 GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6;
221 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
222 GPIO_InitStruct.Pull = GPIO_NOPULL;
223 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
224 GPIO_InitStruct.Alternate = GPIO_AF9_CAN2;
225 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
226
227 /* USER CODE BEGIN CAN2_MspInit 1 */
228
229 /* USER CODE END CAN2_MspInit 1 */
230 }
231
232 }
233
234 /**
235 * @brief CAN MSP De-Initialization
236 * This function freeze the hardware resources used in this example
237 * @param hcan: CAN handle pointer
238 * @retval None
239 */
HAL_CAN_MspDeInit(CAN_HandleTypeDef * hcan)240 void HAL_CAN_MspDeInit(CAN_HandleTypeDef* hcan)
241 {
242 if(hcan->Instance==CAN1)
243 {
244 /* USER CODE BEGIN CAN1_MspDeInit 0 */
245
246 /* USER CODE END CAN1_MspDeInit 0 */
247 /* Peripheral clock disable */
248 HAL_RCC_CAN1_CLK_ENABLED--;
249 if(HAL_RCC_CAN1_CLK_ENABLED==0){
250 __HAL_RCC_CAN1_CLK_DISABLE();
251 }
252
253 /**CAN1 GPIO Configuration
254 PD0 ------> CAN1_RX
255 PD1 ------> CAN1_TX
256 */
257 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_0|GPIO_PIN_1);
258
259 /* USER CODE BEGIN CAN1_MspDeInit 1 */
260
261 /* USER CODE END CAN1_MspDeInit 1 */
262 }
263 else if(hcan->Instance==CAN2)
264 {
265 /* USER CODE BEGIN CAN2_MspDeInit 0 */
266
267 /* USER CODE END CAN2_MspDeInit 0 */
268 /* Peripheral clock disable */
269 __HAL_RCC_CAN2_CLK_DISABLE();
270 HAL_RCC_CAN1_CLK_ENABLED--;
271 if(HAL_RCC_CAN1_CLK_ENABLED==0){
272 __HAL_RCC_CAN1_CLK_DISABLE();
273 }
274
275 /**CAN2 GPIO Configuration
276 PB5 ------> CAN2_RX
277 PB6 ------> CAN2_TX
278 */
279 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_5|GPIO_PIN_6);
280
281 /* USER CODE BEGIN CAN2_MspDeInit 1 */
282
283 /* USER CODE END CAN2_MspDeInit 1 */
284 }
285
286 }
287
288 /**
289 * @brief I2C MSP Initialization
290 * This function configures the hardware resources used in this example
291 * @param hi2c: I2C handle pointer
292 * @retval None
293 */
HAL_I2C_MspInit(I2C_HandleTypeDef * hi2c)294 void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c)
295 {
296 GPIO_InitTypeDef GPIO_InitStruct = {0};
297 if(hi2c->Instance==I2C2)
298 {
299 /* USER CODE BEGIN I2C2_MspInit 0 */
300
301 /* USER CODE END I2C2_MspInit 0 */
302
303 __HAL_RCC_GPIOF_CLK_ENABLE();
304 /**I2C2 GPIO Configuration
305 PF0 ------> I2C2_SDA
306 PF1 ------> I2C2_SCL
307 */
308 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
309 GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
310 GPIO_InitStruct.Pull = GPIO_NOPULL;
311 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
312 GPIO_InitStruct.Alternate = GPIO_AF4_I2C2;
313 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
314
315 /* Peripheral clock enable */
316 __HAL_RCC_I2C2_CLK_ENABLE();
317 /* USER CODE BEGIN I2C2_MspInit 1 */
318
319 /* USER CODE END I2C2_MspInit 1 */
320 }
321
322 }
323
324 /**
325 * @brief I2C MSP De-Initialization
326 * This function freeze the hardware resources used in this example
327 * @param hi2c: I2C handle pointer
328 * @retval None
329 */
HAL_I2C_MspDeInit(I2C_HandleTypeDef * hi2c)330 void HAL_I2C_MspDeInit(I2C_HandleTypeDef* hi2c)
331 {
332 if(hi2c->Instance==I2C2)
333 {
334 /* USER CODE BEGIN I2C2_MspDeInit 0 */
335
336 /* USER CODE END I2C2_MspDeInit 0 */
337 /* Peripheral clock disable */
338 __HAL_RCC_I2C2_CLK_DISABLE();
339
340 /**I2C2 GPIO Configuration
341 PF0 ------> I2C2_SDA
342 PF1 ------> I2C2_SCL
343 */
344 HAL_GPIO_DeInit(GPIOF, GPIO_PIN_0);
345
346 HAL_GPIO_DeInit(GPIOF, GPIO_PIN_1);
347
348 /* USER CODE BEGIN I2C2_MspDeInit 1 */
349
350 /* USER CODE END I2C2_MspDeInit 1 */
351 }
352
353 }
354
355 /**
356 * @brief TIM_Base MSP Initialization
357 * This function configures the hardware resources used in this example
358 * @param htim_base: TIM_Base handle pointer
359 * @retval None
360 */
HAL_TIM_Base_MspInit(TIM_HandleTypeDef * htim_base)361 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
362 {
363 if(htim_base->Instance==TIM1)
364 {
365 /* USER CODE BEGIN TIM1_MspInit 0 */
366
367 /* USER CODE END TIM1_MspInit 0 */
368 /* Peripheral clock enable */
369 __HAL_RCC_TIM1_CLK_ENABLE();
370 /* USER CODE BEGIN TIM1_MspInit 1 */
371
372 /* USER CODE END TIM1_MspInit 1 */
373 }
374 else if(htim_base->Instance==TIM4)
375 {
376 /* USER CODE BEGIN TIM4_MspInit 0 */
377
378 /* USER CODE END TIM4_MspInit 0 */
379 /* Peripheral clock enable */
380 __HAL_RCC_TIM4_CLK_ENABLE();
381 /* USER CODE BEGIN TIM4_MspInit 1 */
382
383 /* USER CODE END TIM4_MspInit 1 */
384 }
385 else if(htim_base->Instance==TIM5)
386 {
387 /* USER CODE BEGIN TIM5_MspInit 0 */
388
389 /* USER CODE END TIM5_MspInit 0 */
390 /* Peripheral clock enable */
391 __HAL_RCC_TIM5_CLK_ENABLE();
392 /* USER CODE BEGIN TIM5_MspInit 1 */
393
394 /* USER CODE END TIM5_MspInit 1 */
395 }
396 else if(htim_base->Instance==TIM8)
397 {
398 /* USER CODE BEGIN TIM8_MspInit 0 */
399
400 /* USER CODE END TIM8_MspInit 0 */
401 /* Peripheral clock enable */
402 __HAL_RCC_TIM8_CLK_ENABLE();
403 /* USER CODE BEGIN TIM8_MspInit 1 */
404
405 /* USER CODE END TIM8_MspInit 1 */
406 }
407
408 }
409
HAL_TIM_MspPostInit(TIM_HandleTypeDef * htim)410 void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
411 {
412 GPIO_InitTypeDef GPIO_InitStruct = {0};
413 if(htim->Instance==TIM1)
414 {
415 /* USER CODE BEGIN TIM1_MspPostInit 0 */
416
417 /* USER CODE END TIM1_MspPostInit 0 */
418 __HAL_RCC_GPIOE_CLK_ENABLE();
419 /**TIM1 GPIO Configuration
420 PE13 ------> TIM1_CH3
421 PE9 ------> TIM1_CH1
422 PE11 ------> TIM1_CH2
423 PE14 ------> TIM1_CH4
424 */
425 GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_9|GPIO_PIN_11|GPIO_PIN_14;
426 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
427 GPIO_InitStruct.Pull = GPIO_NOPULL;
428 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
429 GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;
430 HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
431
432 /* USER CODE BEGIN TIM1_MspPostInit 1 */
433
434 /* USER CODE END TIM1_MspPostInit 1 */
435 }
436 else if(htim->Instance==TIM4)
437 {
438 /* USER CODE BEGIN TIM4_MspPostInit 0 */
439
440 /* USER CODE END TIM4_MspPostInit 0 */
441
442 __HAL_RCC_GPIOD_CLK_ENABLE();
443 /**TIM4 GPIO Configuration
444 PD14 ------> TIM4_CH3
445 */
446 GPIO_InitStruct.Pin = GPIO_PIN_14;
447 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
448 GPIO_InitStruct.Pull = GPIO_NOPULL;
449 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
450 GPIO_InitStruct.Alternate = GPIO_AF2_TIM4;
451 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
452
453 /* USER CODE BEGIN TIM4_MspPostInit 1 */
454
455 /* USER CODE END TIM4_MspPostInit 1 */
456 }
457 else if(htim->Instance==TIM5)
458 {
459 /* USER CODE BEGIN TIM5_MspPostInit 0 */
460
461 /* USER CODE END TIM5_MspPostInit 0 */
462
463 __HAL_RCC_GPIOH_CLK_ENABLE();
464 /**TIM5 GPIO Configuration
465 PH12 ------> TIM5_CH3
466 PH11 ------> TIM5_CH2
467 PH10 ------> TIM5_CH1
468 */
469 GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_11|GPIO_PIN_10;
470 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
471 GPIO_InitStruct.Pull = GPIO_NOPULL;
472 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
473 GPIO_InitStruct.Alternate = GPIO_AF2_TIM5;
474 HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
475
476 /* USER CODE BEGIN TIM5_MspPostInit 1 */
477
478 /* USER CODE END TIM5_MspPostInit 1 */
479 }
480 else if(htim->Instance==TIM8)
481 {
482 /* USER CODE BEGIN TIM8_MspPostInit 0 */
483
484 /* USER CODE END TIM8_MspPostInit 0 */
485
486 __HAL_RCC_GPIOI_CLK_ENABLE();
487 __HAL_RCC_GPIOC_CLK_ENABLE();
488 /**TIM8 GPIO Configuration
489 PI7 ------> TIM8_CH3
490 PI6 ------> TIM8_CH2
491 PC6 ------> TIM8_CH1
492 */
493 GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_6;
494 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
495 GPIO_InitStruct.Pull = GPIO_NOPULL;
496 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
497 GPIO_InitStruct.Alternate = GPIO_AF3_TIM8;
498 HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
499
500 GPIO_InitStruct.Pin = GPIO_PIN_6;
501 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
502 GPIO_InitStruct.Pull = GPIO_NOPULL;
503 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
504 GPIO_InitStruct.Alternate = GPIO_AF3_TIM8;
505 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
506
507 /* USER CODE BEGIN TIM8_MspPostInit 1 */
508
509 /* USER CODE END TIM8_MspPostInit 1 */
510 }
511
512 }
513 /**
514 * @brief TIM_Base MSP De-Initialization
515 * This function freeze the hardware resources used in this example
516 * @param htim_base: TIM_Base handle pointer
517 * @retval None
518 */
HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef * htim_base)519 void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
520 {
521 if(htim_base->Instance==TIM1)
522 {
523 /* USER CODE BEGIN TIM1_MspDeInit 0 */
524
525 /* USER CODE END TIM1_MspDeInit 0 */
526 /* Peripheral clock disable */
527 __HAL_RCC_TIM1_CLK_DISABLE();
528 /* USER CODE BEGIN TIM1_MspDeInit 1 */
529
530 /* USER CODE END TIM1_MspDeInit 1 */
531 }
532 else if(htim_base->Instance==TIM4)
533 {
534 /* USER CODE BEGIN TIM4_MspDeInit 0 */
535
536 /* USER CODE END TIM4_MspDeInit 0 */
537 /* Peripheral clock disable */
538 __HAL_RCC_TIM4_CLK_DISABLE();
539 /* USER CODE BEGIN TIM4_MspDeInit 1 */
540
541 /* USER CODE END TIM4_MspDeInit 1 */
542 }
543 else if(htim_base->Instance==TIM5)
544 {
545 /* USER CODE BEGIN TIM5_MspDeInit 0 */
546
547 /* USER CODE END TIM5_MspDeInit 0 */
548 /* Peripheral clock disable */
549 __HAL_RCC_TIM5_CLK_DISABLE();
550 /* USER CODE BEGIN TIM5_MspDeInit 1 */
551
552 /* USER CODE END TIM5_MspDeInit 1 */
553 }
554 else if(htim_base->Instance==TIM8)
555 {
556 /* USER CODE BEGIN TIM8_MspDeInit 0 */
557
558 /* USER CODE END TIM8_MspDeInit 0 */
559 /* Peripheral clock disable */
560 __HAL_RCC_TIM8_CLK_DISABLE();
561 /* USER CODE BEGIN TIM8_MspDeInit 1 */
562
563 /* USER CODE END TIM8_MspDeInit 1 */
564 }
565
566 }
567
568 /**
569 * @brief UART MSP Initialization
570 * This function configures the hardware resources used in this example
571 * @param huart: UART handle pointer
572 * @retval None
573 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)574 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
575 {
576 GPIO_InitTypeDef GPIO_InitStruct = {0};
577 if(huart->Instance==USART1)
578 {
579 /* USER CODE BEGIN USART1_MspInit 0 */
580
581 /* USER CODE END USART1_MspInit 0 */
582 /* Peripheral clock enable */
583 __HAL_RCC_USART1_CLK_ENABLE();
584
585 __HAL_RCC_GPIOB_CLK_ENABLE();
586 __HAL_RCC_GPIOA_CLK_ENABLE();
587 /**USART1 GPIO Configuration
588 PB7 ------> USART1_RX
589 PA9 ------> USART1_TX
590 */
591 GPIO_InitStruct.Pin = GPIO_PIN_7;
592 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
593 GPIO_InitStruct.Pull = GPIO_PULLUP;
594 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
595 GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
596 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
597
598 GPIO_InitStruct.Pin = GPIO_PIN_9;
599 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
600 GPIO_InitStruct.Pull = GPIO_PULLUP;
601 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
602 GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
603 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
604
605 /* USER CODE BEGIN USART1_MspInit 1 */
606
607 /* USER CODE END USART1_MspInit 1 */
608 }
609 else if(huart->Instance==USART3)
610 {
611 /* USER CODE BEGIN USART3_MspInit 0 */
612
613 /* USER CODE END USART3_MspInit 0 */
614 /* Peripheral clock enable */
615 __HAL_RCC_USART3_CLK_ENABLE();
616
617 __HAL_RCC_GPIOC_CLK_ENABLE();
618 /**USART3 GPIO Configuration
619 PC11 ------> USART3_RX
620 PC10 ------> USART3_TX
621 */
622 GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_10;
623 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
624 GPIO_InitStruct.Pull = GPIO_NOPULL;
625 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
626 GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
627 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
628
629 /* USER CODE BEGIN USART3_MspInit 1 */
630
631 /* USER CODE END USART3_MspInit 1 */
632 }
633 else if(huart->Instance==USART6)
634 {
635 /* USER CODE BEGIN USART6_MspInit 0 */
636
637 /* USER CODE END USART6_MspInit 0 */
638 /* Peripheral clock enable */
639 __HAL_RCC_USART6_CLK_ENABLE();
640
641 __HAL_RCC_GPIOG_CLK_ENABLE();
642 /**USART6 GPIO Configuration
643 PG14 ------> USART6_TX
644 PG9 ------> USART6_RX
645 */
646 GPIO_InitStruct.Pin = GPIO_PIN_14|GPIO_PIN_9;
647 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
648 GPIO_InitStruct.Pull = GPIO_NOPULL;
649 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
650 GPIO_InitStruct.Alternate = GPIO_AF8_USART6;
651 HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
652
653 /* USER CODE BEGIN USART6_MspInit 1 */
654
655 /* USER CODE END USART6_MspInit 1 */
656 }
657
658 }
659
660 /**
661 * @brief UART MSP De-Initialization
662 * This function freeze the hardware resources used in this example
663 * @param huart: UART handle pointer
664 * @retval None
665 */
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)666 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
667 {
668 if(huart->Instance==USART1)
669 {
670 /* USER CODE BEGIN USART1_MspDeInit 0 */
671
672 /* USER CODE END USART1_MspDeInit 0 */
673 /* Peripheral clock disable */
674 __HAL_RCC_USART1_CLK_DISABLE();
675
676 /**USART1 GPIO Configuration
677 PB7 ------> USART1_RX
678 PA9 ------> USART1_TX
679 */
680 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_7);
681
682 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9);
683
684 /* USER CODE BEGIN USART1_MspDeInit 1 */
685
686 /* USER CODE END USART1_MspDeInit 1 */
687 }
688 else if(huart->Instance==USART3)
689 {
690 /* USER CODE BEGIN USART3_MspDeInit 0 */
691
692 /* USER CODE END USART3_MspDeInit 0 */
693 /* Peripheral clock disable */
694 __HAL_RCC_USART3_CLK_DISABLE();
695
696 /**USART3 GPIO Configuration
697 PC11 ------> USART3_RX
698 PC10 ------> USART3_TX
699 */
700 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_11|GPIO_PIN_10);
701
702 /* USER CODE BEGIN USART3_MspDeInit 1 */
703
704 /* USER CODE END USART3_MspDeInit 1 */
705 }
706 else if(huart->Instance==USART6)
707 {
708 /* USER CODE BEGIN USART6_MspDeInit 0 */
709
710 /* USER CODE END USART6_MspDeInit 0 */
711 /* Peripheral clock disable */
712 __HAL_RCC_USART6_CLK_DISABLE();
713
714 /**USART6 GPIO Configuration
715 PG14 ------> USART6_TX
716 PG9 ------> USART6_RX
717 */
718 HAL_GPIO_DeInit(GPIOG, GPIO_PIN_14|GPIO_PIN_9);
719
720 /* USER CODE BEGIN USART6_MspDeInit 1 */
721
722 /* USER CODE END USART6_MspDeInit 1 */
723 }
724
725 }
726
727 /* USER CODE BEGIN 1 */
728
729 /* USER CODE END 1 */
730