1 /* USER CODE BEGIN Header */
2 /**
3 ******************************************************************************
4 * @file stm32f1xx_hal_msp.c
5 * @brief This file provides code for the MSP Initialization
6 * and de-Initialization codes.
7 ******************************************************************************
8 * @attention
9 *
10 * Copyright (c) 2022 STMicroelectronics.
11 * All rights reserved.
12 *
13 * This software is licensed under terms that can be found in the LICENSE file
14 * in the root directory of this software component.
15 * If no LICENSE file comes with this software, it is provided AS-IS.
16 *
17 ******************************************************************************
18 */
19 /* USER CODE END Header */
20
21 /* Includes ------------------------------------------------------------------*/
22 #include "main.h"
23 /* USER CODE BEGIN Includes */
24 #include <drv_common.h>
25 /* USER CODE END Includes */
26
27 /* Private typedef -----------------------------------------------------------*/
28 /* USER CODE BEGIN TD */
29
30 /* USER CODE END TD */
31
32 /* Private define ------------------------------------------------------------*/
33 /* USER CODE BEGIN Define */
34
35 /* USER CODE END Define */
36
37 /* Private macro -------------------------------------------------------------*/
38 /* USER CODE BEGIN Macro */
39
40 /* USER CODE END Macro */
41
42 /* Private variables ---------------------------------------------------------*/
43 /* USER CODE BEGIN PV */
44
45 /* USER CODE END PV */
46
47 /* Private function prototypes -----------------------------------------------*/
48 /* USER CODE BEGIN PFP */
49
50 /* USER CODE END PFP */
51
52 /* External functions --------------------------------------------------------*/
53 /* USER CODE BEGIN ExternalFunctions */
54
55 /* USER CODE END ExternalFunctions */
56
57 /* USER CODE BEGIN 0 */
58
59 /* USER CODE END 0 */
60
61 void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
62 /**
63 * Initializes the Global MSP.
64 */
HAL_MspInit(void)65 void HAL_MspInit(void)
66 {
67 /* USER CODE BEGIN MspInit 0 */
68
69 /* USER CODE END MspInit 0 */
70
71 __HAL_RCC_AFIO_CLK_ENABLE();
72 __HAL_RCC_PWR_CLK_ENABLE();
73
74 /* System interrupt init*/
75
76 /** NOJTAG: JTAG-DP Disabled and SW-DP Enabled
77 */
78 __HAL_AFIO_REMAP_SWJ_NOJTAG();
79
80 /* USER CODE BEGIN MspInit 1 */
81
82 /* USER CODE END MspInit 1 */
83 }
84
85 /**
86 * @brief ADC MSP Initialization
87 * This function configures the hardware resources used in this example
88 * @param hadc: ADC handle pointer
89 * @retval None
90 */
HAL_ADC_MspInit(ADC_HandleTypeDef * hadc)91 void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
92 {
93 GPIO_InitTypeDef GPIO_InitStruct = {0};
94 if(hadc->Instance==ADC1)
95 {
96 /* USER CODE BEGIN ADC1_MspInit 0 */
97
98 /* USER CODE END ADC1_MspInit 0 */
99 /* Peripheral clock enable */
100 __HAL_RCC_ADC1_CLK_ENABLE();
101
102 __HAL_RCC_GPIOC_CLK_ENABLE();
103 /**ADC1 GPIO Configuration
104 PC0 ------> ADC1_IN10
105 */
106 GPIO_InitStruct.Pin = GPIO_PIN_0;
107 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
108 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
109
110 /* USER CODE BEGIN ADC1_MspInit 1 */
111
112 /* USER CODE END ADC1_MspInit 1 */
113 }
114 else if(hadc->Instance==ADC2)
115 {
116 /* USER CODE BEGIN ADC2_MspInit 0 */
117
118 /* USER CODE END ADC2_MspInit 0 */
119 /* Peripheral clock enable */
120 __HAL_RCC_ADC2_CLK_ENABLE();
121
122 __HAL_RCC_GPIOC_CLK_ENABLE();
123 /**ADC2 GPIO Configuration
124 PC0 ------> ADC2_IN10
125 */
126 GPIO_InitStruct.Pin = GPIO_PIN_0;
127 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
128 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
129
130 /* USER CODE BEGIN ADC2_MspInit 1 */
131
132 /* USER CODE END ADC2_MspInit 1 */
133 }
134 else if(hadc->Instance==ADC3)
135 {
136 /* USER CODE BEGIN ADC3_MspInit 0 */
137
138 /* USER CODE END ADC3_MspInit 0 */
139 /* Peripheral clock enable */
140 __HAL_RCC_ADC3_CLK_ENABLE();
141
142 __HAL_RCC_GPIOC_CLK_ENABLE();
143 /**ADC3 GPIO Configuration
144 PC0 ------> ADC3_IN10
145 */
146 GPIO_InitStruct.Pin = GPIO_PIN_0;
147 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
148 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
149
150 /* USER CODE BEGIN ADC3_MspInit 1 */
151
152 /* USER CODE END ADC3_MspInit 1 */
153 }
154
155 }
156
157 /**
158 * @brief ADC MSP De-Initialization
159 * This function freeze the hardware resources used in this example
160 * @param hadc: ADC handle pointer
161 * @retval None
162 */
HAL_ADC_MspDeInit(ADC_HandleTypeDef * hadc)163 void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
164 {
165 if(hadc->Instance==ADC1)
166 {
167 /* USER CODE BEGIN ADC1_MspDeInit 0 */
168
169 /* USER CODE END ADC1_MspDeInit 0 */
170 /* Peripheral clock disable */
171 __HAL_RCC_ADC1_CLK_DISABLE();
172
173 /**ADC1 GPIO Configuration
174 PC0 ------> ADC1_IN10
175 */
176 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0);
177
178 /* USER CODE BEGIN ADC1_MspDeInit 1 */
179
180 /* USER CODE END ADC1_MspDeInit 1 */
181 }
182 else if(hadc->Instance==ADC2)
183 {
184 /* USER CODE BEGIN ADC2_MspDeInit 0 */
185
186 /* USER CODE END ADC2_MspDeInit 0 */
187 /* Peripheral clock disable */
188 __HAL_RCC_ADC2_CLK_DISABLE();
189
190 /**ADC2 GPIO Configuration
191 PC0 ------> ADC2_IN10
192 */
193 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0);
194
195 /* USER CODE BEGIN ADC2_MspDeInit 1 */
196
197 /* USER CODE END ADC2_MspDeInit 1 */
198 }
199 else if(hadc->Instance==ADC3)
200 {
201 /* USER CODE BEGIN ADC3_MspDeInit 0 */
202
203 /* USER CODE END ADC3_MspDeInit 0 */
204 /* Peripheral clock disable */
205 __HAL_RCC_ADC3_CLK_DISABLE();
206
207 /**ADC3 GPIO Configuration
208 PC0 ------> ADC3_IN10
209 */
210 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0);
211
212 /* USER CODE BEGIN ADC3_MspDeInit 1 */
213
214 /* USER CODE END ADC3_MspDeInit 1 */
215 }
216
217 }
218
219 /**
220 * @brief CAN MSP Initialization
221 * This function configures the hardware resources used in this example
222 * @param hcan: CAN handle pointer
223 * @retval None
224 */
HAL_CAN_MspInit(CAN_HandleTypeDef * hcan)225 void HAL_CAN_MspInit(CAN_HandleTypeDef* hcan)
226 {
227 GPIO_InitTypeDef GPIO_InitStruct = {0};
228 if(hcan->Instance==CAN1)
229 {
230 /* USER CODE BEGIN CAN1_MspInit 0 */
231
232 /* USER CODE END CAN1_MspInit 0 */
233 /* Peripheral clock enable */
234 __HAL_RCC_CAN1_CLK_ENABLE();
235
236 __HAL_RCC_GPIOB_CLK_ENABLE();
237 /**CAN GPIO Configuration
238 PB8 ------> CAN_RX
239 PB9 ------> CAN_TX
240 */
241 GPIO_InitStruct.Pin = GPIO_PIN_8;
242 GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
243 GPIO_InitStruct.Pull = GPIO_NOPULL;
244 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
245
246 GPIO_InitStruct.Pin = GPIO_PIN_9;
247 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
248 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
249 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
250
251 __HAL_AFIO_REMAP_CAN1_2();
252
253 /* USER CODE BEGIN CAN1_MspInit 1 */
254
255 /* USER CODE END CAN1_MspInit 1 */
256 }
257
258 }
259
260 /**
261 * @brief CAN MSP De-Initialization
262 * This function freeze the hardware resources used in this example
263 * @param hcan: CAN handle pointer
264 * @retval None
265 */
HAL_CAN_MspDeInit(CAN_HandleTypeDef * hcan)266 void HAL_CAN_MspDeInit(CAN_HandleTypeDef* hcan)
267 {
268 if(hcan->Instance==CAN1)
269 {
270 /* USER CODE BEGIN CAN1_MspDeInit 0 */
271
272 /* USER CODE END CAN1_MspDeInit 0 */
273 /* Peripheral clock disable */
274 __HAL_RCC_CAN1_CLK_DISABLE();
275
276 /**CAN GPIO Configuration
277 PB8 ------> CAN_RX
278 PB9 ------> CAN_TX
279 */
280 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_8|GPIO_PIN_9);
281
282 /* USER CODE BEGIN CAN1_MspDeInit 1 */
283
284 /* USER CODE END CAN1_MspDeInit 1 */
285 }
286
287 }
288
289 /**
290 * @brief I2C MSP Initialization
291 * This function configures the hardware resources used in this example
292 * @param hi2c: I2C handle pointer
293 * @retval None
294 */
HAL_I2C_MspInit(I2C_HandleTypeDef * hi2c)295 void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c)
296 {
297 GPIO_InitTypeDef GPIO_InitStruct = {0};
298 if(hi2c->Instance==I2C1)
299 {
300 /* USER CODE BEGIN I2C1_MspInit 0 */
301
302 /* USER CODE END I2C1_MspInit 0 */
303
304 __HAL_RCC_GPIOB_CLK_ENABLE();
305 /**I2C1 GPIO Configuration
306 PB6 ------> I2C1_SCL
307 PB7 ------> I2C1_SDA
308 */
309 GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
310 GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
311 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
312 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
313
314 /* Peripheral clock enable */
315 __HAL_RCC_I2C1_CLK_ENABLE();
316 /* USER CODE BEGIN I2C1_MspInit 1 */
317
318 /* USER CODE END I2C1_MspInit 1 */
319 }
320
321 }
322
323 /**
324 * @brief I2C MSP De-Initialization
325 * This function freeze the hardware resources used in this example
326 * @param hi2c: I2C handle pointer
327 * @retval None
328 */
HAL_I2C_MspDeInit(I2C_HandleTypeDef * hi2c)329 void HAL_I2C_MspDeInit(I2C_HandleTypeDef* hi2c)
330 {
331 if(hi2c->Instance==I2C1)
332 {
333 /* USER CODE BEGIN I2C1_MspDeInit 0 */
334
335 /* USER CODE END I2C1_MspDeInit 0 */
336 /* Peripheral clock disable */
337 __HAL_RCC_I2C1_CLK_DISABLE();
338
339 /**I2C1 GPIO Configuration
340 PB6 ------> I2C1_SCL
341 PB7 ------> I2C1_SDA
342 */
343 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_6);
344
345 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_7);
346
347 /* USER CODE BEGIN I2C1_MspDeInit 1 */
348
349 /* USER CODE END I2C1_MspDeInit 1 */
350 }
351
352 }
353
354 /**
355 * @brief RTC MSP Initialization
356 * This function configures the hardware resources used in this example
357 * @param hrtc: RTC handle pointer
358 * @retval None
359 */
HAL_RTC_MspInit(RTC_HandleTypeDef * hrtc)360 void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
361 {
362 if(hrtc->Instance==RTC)
363 {
364 /* USER CODE BEGIN RTC_MspInit 0 */
365
366 /* USER CODE END RTC_MspInit 0 */
367 HAL_PWR_EnableBkUpAccess();
368 /* Enable BKP CLK enable for backup registers */
369 __HAL_RCC_BKP_CLK_ENABLE();
370 /* Peripheral clock enable */
371 __HAL_RCC_RTC_ENABLE();
372 /* USER CODE BEGIN RTC_MspInit 1 */
373
374 /* USER CODE END RTC_MspInit 1 */
375 }
376
377 }
378
379 /**
380 * @brief RTC MSP De-Initialization
381 * This function freeze the hardware resources used in this example
382 * @param hrtc: RTC handle pointer
383 * @retval None
384 */
HAL_RTC_MspDeInit(RTC_HandleTypeDef * hrtc)385 void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
386 {
387 if(hrtc->Instance==RTC)
388 {
389 /* USER CODE BEGIN RTC_MspDeInit 0 */
390
391 /* USER CODE END RTC_MspDeInit 0 */
392 /* Peripheral clock disable */
393 __HAL_RCC_RTC_DISABLE();
394 /* USER CODE BEGIN RTC_MspDeInit 1 */
395
396 /* USER CODE END RTC_MspDeInit 1 */
397 }
398
399 }
400
401 /**
402 * @brief SD MSP Initialization
403 * This function configures the hardware resources used in this example
404 * @param hsd: SD handle pointer
405 * @retval None
406 */
HAL_SD_MspInit(SD_HandleTypeDef * hsd)407 void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
408 {
409 GPIO_InitTypeDef GPIO_InitStruct = {0};
410 if(hsd->Instance==SDIO)
411 {
412 /* USER CODE BEGIN SDIO_MspInit 0 */
413
414 /* USER CODE END SDIO_MspInit 0 */
415 /* Peripheral clock enable */
416 __HAL_RCC_SDIO_CLK_ENABLE();
417
418 __HAL_RCC_GPIOC_CLK_ENABLE();
419 __HAL_RCC_GPIOD_CLK_ENABLE();
420 /**SDIO GPIO Configuration
421 PC8 ------> SDIO_D0
422 PC9 ------> SDIO_D1
423 PC10 ------> SDIO_D2
424 PC11 ------> SDIO_D3
425 PC12 ------> SDIO_CK
426 PD2 ------> SDIO_CMD
427 */
428 GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
429 |GPIO_PIN_12;
430 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
431 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
432 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
433
434 GPIO_InitStruct.Pin = GPIO_PIN_2;
435 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
436 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
437 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
438
439 /* USER CODE BEGIN SDIO_MspInit 1 */
440
441 /* USER CODE END SDIO_MspInit 1 */
442 }
443
444 }
445
446 /**
447 * @brief SD MSP De-Initialization
448 * This function freeze the hardware resources used in this example
449 * @param hsd: SD handle pointer
450 * @retval None
451 */
HAL_SD_MspDeInit(SD_HandleTypeDef * hsd)452 void HAL_SD_MspDeInit(SD_HandleTypeDef* hsd)
453 {
454 if(hsd->Instance==SDIO)
455 {
456 /* USER CODE BEGIN SDIO_MspDeInit 0 */
457
458 /* USER CODE END SDIO_MspDeInit 0 */
459 /* Peripheral clock disable */
460 __HAL_RCC_SDIO_CLK_DISABLE();
461
462 /**SDIO GPIO Configuration
463 PC8 ------> SDIO_D0
464 PC9 ------> SDIO_D1
465 PC10 ------> SDIO_D2
466 PC11 ------> SDIO_D3
467 PC12 ------> SDIO_CK
468 PD2 ------> SDIO_CMD
469 */
470 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
471 |GPIO_PIN_12);
472
473 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2);
474
475 /* USER CODE BEGIN SDIO_MspDeInit 1 */
476
477 /* USER CODE END SDIO_MspDeInit 1 */
478 }
479
480 }
481
482 /**
483 * @brief SPI MSP Initialization
484 * This function configures the hardware resources used in this example
485 * @param hspi: SPI handle pointer
486 * @retval None
487 */
HAL_SPI_MspInit(SPI_HandleTypeDef * hspi)488 void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
489 {
490 GPIO_InitTypeDef GPIO_InitStruct = {0};
491 if(hspi->Instance==SPI1)
492 {
493 /* USER CODE BEGIN SPI1_MspInit 0 */
494
495 /* USER CODE END SPI1_MspInit 0 */
496 /* Peripheral clock enable */
497 __HAL_RCC_SPI1_CLK_ENABLE();
498
499 __HAL_RCC_GPIOA_CLK_ENABLE();
500 /**SPI1 GPIO Configuration
501 PA5 ------> SPI1_SCK
502 PA6 ------> SPI1_MISO
503 PA7 ------> SPI1_MOSI
504 */
505 GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_7;
506 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
507 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
508 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
509
510 GPIO_InitStruct.Pin = GPIO_PIN_6;
511 GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
512 GPIO_InitStruct.Pull = GPIO_NOPULL;
513 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
514
515 /* USER CODE BEGIN SPI1_MspInit 1 */
516
517 /* USER CODE END SPI1_MspInit 1 */
518 }
519 else if(hspi->Instance==SPI2)
520 {
521 /* USER CODE BEGIN SPI2_MspInit 0 */
522
523 /* USER CODE END SPI2_MspInit 0 */
524 /* Peripheral clock enable */
525 __HAL_RCC_SPI2_CLK_ENABLE();
526
527 __HAL_RCC_GPIOB_CLK_ENABLE();
528 /**SPI2 GPIO Configuration
529 PB13 ------> SPI2_SCK
530 PB14 ------> SPI2_MISO
531 PB15 ------> SPI2_MOSI
532 */
533 GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_15;
534 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
535 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
536 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
537
538 GPIO_InitStruct.Pin = GPIO_PIN_14;
539 GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
540 GPIO_InitStruct.Pull = GPIO_NOPULL;
541 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
542
543 /* USER CODE BEGIN SPI2_MspInit 1 */
544
545 /* USER CODE END SPI2_MspInit 1 */
546 }
547
548 }
549
550 /**
551 * @brief SPI MSP De-Initialization
552 * This function freeze the hardware resources used in this example
553 * @param hspi: SPI handle pointer
554 * @retval None
555 */
HAL_SPI_MspDeInit(SPI_HandleTypeDef * hspi)556 void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
557 {
558 if(hspi->Instance==SPI1)
559 {
560 /* USER CODE BEGIN SPI1_MspDeInit 0 */
561
562 /* USER CODE END SPI1_MspDeInit 0 */
563 /* Peripheral clock disable */
564 __HAL_RCC_SPI1_CLK_DISABLE();
565
566 /**SPI1 GPIO Configuration
567 PA5 ------> SPI1_SCK
568 PA6 ------> SPI1_MISO
569 PA7 ------> SPI1_MOSI
570 */
571 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
572
573 /* USER CODE BEGIN SPI1_MspDeInit 1 */
574
575 /* USER CODE END SPI1_MspDeInit 1 */
576 }
577 else if(hspi->Instance==SPI2)
578 {
579 /* USER CODE BEGIN SPI2_MspDeInit 0 */
580
581 /* USER CODE END SPI2_MspDeInit 0 */
582 /* Peripheral clock disable */
583 __HAL_RCC_SPI2_CLK_DISABLE();
584
585 /**SPI2 GPIO Configuration
586 PB13 ------> SPI2_SCK
587 PB14 ------> SPI2_MISO
588 PB15 ------> SPI2_MOSI
589 */
590 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
591
592 /* USER CODE BEGIN SPI2_MspDeInit 1 */
593
594 /* USER CODE END SPI2_MspDeInit 1 */
595 }
596
597 }
598
599 /**
600 * @brief TIM_Base MSP Initialization
601 * This function configures the hardware resources used in this example
602 * @param htim_base: TIM_Base handle pointer
603 * @retval None
604 */
HAL_TIM_Base_MspInit(TIM_HandleTypeDef * htim_base)605 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
606 {
607 if(htim_base->Instance==TIM2)
608 {
609 /* USER CODE BEGIN TIM2_MspInit 0 */
610
611 /* USER CODE END TIM2_MspInit 0 */
612 /* Peripheral clock enable */
613 __HAL_RCC_TIM2_CLK_ENABLE();
614 /* USER CODE BEGIN TIM2_MspInit 1 */
615
616 /* USER CODE END TIM2_MspInit 1 */
617 }
618 else if(htim_base->Instance==TIM3)
619 {
620 /* USER CODE BEGIN TIM3_MspInit 0 */
621
622 /* USER CODE END TIM3_MspInit 0 */
623 /* Peripheral clock enable */
624 __HAL_RCC_TIM3_CLK_ENABLE();
625 /* USER CODE BEGIN TIM3_MspInit 1 */
626
627 /* USER CODE END TIM3_MspInit 1 */
628 }
629 else if(htim_base->Instance==TIM4)
630 {
631 /* USER CODE BEGIN TIM4_MspInit 0 */
632
633 /* USER CODE END TIM4_MspInit 0 */
634 /* Peripheral clock enable */
635 __HAL_RCC_TIM4_CLK_ENABLE();
636 /* USER CODE BEGIN TIM4_MspInit 1 */
637
638 /* USER CODE END TIM4_MspInit 1 */
639 }
640
641 }
642
HAL_TIM_MspPostInit(TIM_HandleTypeDef * htim)643 void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
644 {
645 GPIO_InitTypeDef GPIO_InitStruct = {0};
646 if(htim->Instance==TIM3)
647 {
648 /* USER CODE BEGIN TIM3_MspPostInit 0 */
649
650 /* USER CODE END TIM3_MspPostInit 0 */
651
652 __HAL_RCC_GPIOB_CLK_ENABLE();
653 /**TIM3 GPIO Configuration
654 PB0 ------> TIM3_CH3
655 PB1 ------> TIM3_CH4
656 PB5 ------> TIM3_CH2
657 */
658 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_5;
659 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
660 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
661 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
662
663 __HAL_AFIO_REMAP_TIM3_PARTIAL();
664
665 /* USER CODE BEGIN TIM3_MspPostInit 1 */
666
667 /* USER CODE END TIM3_MspPostInit 1 */
668 }
669
670 }
671 /**
672 * @brief TIM_Base MSP De-Initialization
673 * This function freeze the hardware resources used in this example
674 * @param htim_base: TIM_Base handle pointer
675 * @retval None
676 */
HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef * htim_base)677 void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
678 {
679 if(htim_base->Instance==TIM2)
680 {
681 /* USER CODE BEGIN TIM2_MspDeInit 0 */
682
683 /* USER CODE END TIM2_MspDeInit 0 */
684 /* Peripheral clock disable */
685 __HAL_RCC_TIM2_CLK_DISABLE();
686 /* USER CODE BEGIN TIM2_MspDeInit 1 */
687
688 /* USER CODE END TIM2_MspDeInit 1 */
689 }
690 else if(htim_base->Instance==TIM3)
691 {
692 /* USER CODE BEGIN TIM3_MspDeInit 0 */
693
694 /* USER CODE END TIM3_MspDeInit 0 */
695 /* Peripheral clock disable */
696 __HAL_RCC_TIM3_CLK_DISABLE();
697 /* USER CODE BEGIN TIM3_MspDeInit 1 */
698
699 /* USER CODE END TIM3_MspDeInit 1 */
700 }
701 else if(htim_base->Instance==TIM4)
702 {
703 /* USER CODE BEGIN TIM4_MspDeInit 0 */
704
705 /* USER CODE END TIM4_MspDeInit 0 */
706 /* Peripheral clock disable */
707 __HAL_RCC_TIM4_CLK_DISABLE();
708 /* USER CODE BEGIN TIM4_MspDeInit 1 */
709
710 /* USER CODE END TIM4_MspDeInit 1 */
711 }
712
713 }
714
715 /**
716 * @brief UART MSP Initialization
717 * This function configures the hardware resources used in this example
718 * @param huart: UART handle pointer
719 * @retval None
720 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)721 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
722 {
723 GPIO_InitTypeDef GPIO_InitStruct = {0};
724 if(huart->Instance==USART1)
725 {
726 /* USER CODE BEGIN USART1_MspInit 0 */
727
728 /* USER CODE END USART1_MspInit 0 */
729 /* Peripheral clock enable */
730 __HAL_RCC_USART1_CLK_ENABLE();
731
732 __HAL_RCC_GPIOA_CLK_ENABLE();
733 /**USART1 GPIO Configuration
734 PA9 ------> USART1_TX
735 PA10 ------> USART1_RX
736 */
737 GPIO_InitStruct.Pin = GPIO_PIN_9;
738 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
739 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
740 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
741
742 GPIO_InitStruct.Pin = GPIO_PIN_10;
743 GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
744 GPIO_InitStruct.Pull = GPIO_NOPULL;
745 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
746
747 /* USER CODE BEGIN USART1_MspInit 1 */
748
749 /* USER CODE END USART1_MspInit 1 */
750 }
751 else if(huart->Instance==USART2)
752 {
753 /* USER CODE BEGIN USART2_MspInit 0 */
754
755 /* USER CODE END USART2_MspInit 0 */
756 /* Peripheral clock enable */
757 __HAL_RCC_USART2_CLK_ENABLE();
758
759 __HAL_RCC_GPIOA_CLK_ENABLE();
760 /**USART2 GPIO Configuration
761 PA2 ------> USART2_TX
762 PA3 ------> USART2_RX
763 */
764 GPIO_InitStruct.Pin = GPIO_PIN_2;
765 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
766 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
767 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
768
769 GPIO_InitStruct.Pin = GPIO_PIN_3;
770 GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
771 GPIO_InitStruct.Pull = GPIO_NOPULL;
772 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
773
774 /* USER CODE BEGIN USART2_MspInit 1 */
775
776 /* USER CODE END USART2_MspInit 1 */
777 }
778 else if(huart->Instance==USART3)
779 {
780 /* USER CODE BEGIN USART3_MspInit 0 */
781
782 /* USER CODE END USART3_MspInit 0 */
783 /* Peripheral clock enable */
784 __HAL_RCC_USART3_CLK_ENABLE();
785
786 __HAL_RCC_GPIOB_CLK_ENABLE();
787 /**USART3 GPIO Configuration
788 PB10 ------> USART3_TX
789 PB11 ------> USART3_RX
790 */
791 GPIO_InitStruct.Pin = GPIO_PIN_10;
792 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
793 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
794 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
795
796 GPIO_InitStruct.Pin = GPIO_PIN_11;
797 GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
798 GPIO_InitStruct.Pull = GPIO_NOPULL;
799 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
800
801 /* USER CODE BEGIN USART3_MspInit 1 */
802
803 /* USER CODE END USART3_MspInit 1 */
804 }
805
806 }
807
808 /**
809 * @brief UART MSP De-Initialization
810 * This function freeze the hardware resources used in this example
811 * @param huart: UART handle pointer
812 * @retval None
813 */
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)814 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
815 {
816 if(huart->Instance==USART1)
817 {
818 /* USER CODE BEGIN USART1_MspDeInit 0 */
819
820 /* USER CODE END USART1_MspDeInit 0 */
821 /* Peripheral clock disable */
822 __HAL_RCC_USART1_CLK_DISABLE();
823
824 /**USART1 GPIO Configuration
825 PA9 ------> USART1_TX
826 PA10 ------> USART1_RX
827 */
828 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
829
830 /* USER CODE BEGIN USART1_MspDeInit 1 */
831
832 /* USER CODE END USART1_MspDeInit 1 */
833 }
834 else if(huart->Instance==USART2)
835 {
836 /* USER CODE BEGIN USART2_MspDeInit 0 */
837
838 /* USER CODE END USART2_MspDeInit 0 */
839 /* Peripheral clock disable */
840 __HAL_RCC_USART2_CLK_DISABLE();
841
842 /**USART2 GPIO Configuration
843 PA2 ------> USART2_TX
844 PA3 ------> USART2_RX
845 */
846 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
847
848 /* USER CODE BEGIN USART2_MspDeInit 1 */
849
850 /* USER CODE END USART2_MspDeInit 1 */
851 }
852 else if(huart->Instance==USART3)
853 {
854 /* USER CODE BEGIN USART3_MspDeInit 0 */
855
856 /* USER CODE END USART3_MspDeInit 0 */
857 /* Peripheral clock disable */
858 __HAL_RCC_USART3_CLK_DISABLE();
859
860 /**USART3 GPIO Configuration
861 PB10 ------> USART3_TX
862 PB11 ------> USART3_RX
863 */
864 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11);
865
866 /* USER CODE BEGIN USART3_MspDeInit 1 */
867
868 /* USER CODE END USART3_MspDeInit 1 */
869 }
870
871 }
872
873 static uint32_t FSMC_Initialized = 0;
874
HAL_FSMC_MspInit(void)875 static void HAL_FSMC_MspInit(void){
876 /* USER CODE BEGIN FSMC_MspInit 0 */
877
878 /* USER CODE END FSMC_MspInit 0 */
879 GPIO_InitTypeDef GPIO_InitStruct ={0};
880 if (FSMC_Initialized) {
881 return;
882 }
883 FSMC_Initialized = 1;
884
885 /* Peripheral clock enable */
886 __HAL_RCC_FSMC_CLK_ENABLE();
887
888 /** FSMC GPIO Configuration
889 PF0 ------> FSMC_A0
890 PF1 ------> FSMC_A1
891 PF2 ------> FSMC_A2
892 PF3 ------> FSMC_A3
893 PF4 ------> FSMC_A4
894 PF5 ------> FSMC_A5
895 PF12 ------> FSMC_A6
896 PF13 ------> FSMC_A7
897 PF14 ------> FSMC_A8
898 PF15 ------> FSMC_A9
899 PG0 ------> FSMC_A10
900 PG1 ------> FSMC_A11
901 PE7 ------> FSMC_D4
902 PE8 ------> FSMC_D5
903 PE9 ------> FSMC_D6
904 PE10 ------> FSMC_D7
905 PE11 ------> FSMC_D8
906 PE12 ------> FSMC_D9
907 PE13 ------> FSMC_D10
908 PE14 ------> FSMC_D11
909 PE15 ------> FSMC_D12
910 PD8 ------> FSMC_D13
911 PD9 ------> FSMC_D14
912 PD10 ------> FSMC_D15
913 PD11 ------> FSMC_A16
914 PD12 ------> FSMC_A17
915 PD13 ------> FSMC_A18
916 PD14 ------> FSMC_D0
917 PD15 ------> FSMC_D1
918 PG2 ------> FSMC_A12
919 PG3 ------> FSMC_A13
920 PG4 ------> FSMC_A14
921 PG5 ------> FSMC_A15
922 PD0 ------> FSMC_D2
923 PD1 ------> FSMC_D3
924 PD4 ------> FSMC_NOE
925 PD5 ------> FSMC_NWE
926 PG10 ------> FSMC_NE3
927 PE0 ------> FSMC_NBL0
928 PE1 ------> FSMC_NBL1
929 */
930 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
931 |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_12|GPIO_PIN_13
932 |GPIO_PIN_14|GPIO_PIN_15;
933 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
934 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
935 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
936
937 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
938 |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_10;
939 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
940 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
941 HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
942
943 GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10
944 |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
945 |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1;
946 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
947 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
948 HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
949
950 GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
951 |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15
952 |GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5;
953 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
954 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
955 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
956
957 /* USER CODE BEGIN FSMC_MspInit 1 */
958
959 /* USER CODE END FSMC_MspInit 1 */
960 }
961
HAL_SRAM_MspInit(SRAM_HandleTypeDef * hsram)962 void HAL_SRAM_MspInit(SRAM_HandleTypeDef* hsram){
963 /* USER CODE BEGIN SRAM_MspInit 0 */
964
965 /* USER CODE END SRAM_MspInit 0 */
966 HAL_FSMC_MspInit();
967 /* USER CODE BEGIN SRAM_MspInit 1 */
968
969 /* USER CODE END SRAM_MspInit 1 */
970 }
971
972 static uint32_t FSMC_DeInitialized = 0;
973
HAL_FSMC_MspDeInit(void)974 static void HAL_FSMC_MspDeInit(void){
975 /* USER CODE BEGIN FSMC_MspDeInit 0 */
976
977 /* USER CODE END FSMC_MspDeInit 0 */
978 if (FSMC_DeInitialized) {
979 return;
980 }
981 FSMC_DeInitialized = 1;
982 /* Peripheral clock enable */
983 __HAL_RCC_FSMC_CLK_DISABLE();
984
985 /** FSMC GPIO Configuration
986 PF0 ------> FSMC_A0
987 PF1 ------> FSMC_A1
988 PF2 ------> FSMC_A2
989 PF3 ------> FSMC_A3
990 PF4 ------> FSMC_A4
991 PF5 ------> FSMC_A5
992 PF12 ------> FSMC_A6
993 PF13 ------> FSMC_A7
994 PF14 ------> FSMC_A8
995 PF15 ------> FSMC_A9
996 PG0 ------> FSMC_A10
997 PG1 ------> FSMC_A11
998 PE7 ------> FSMC_D4
999 PE8 ------> FSMC_D5
1000 PE9 ------> FSMC_D6
1001 PE10 ------> FSMC_D7
1002 PE11 ------> FSMC_D8
1003 PE12 ------> FSMC_D9
1004 PE13 ------> FSMC_D10
1005 PE14 ------> FSMC_D11
1006 PE15 ------> FSMC_D12
1007 PD8 ------> FSMC_D13
1008 PD9 ------> FSMC_D14
1009 PD10 ------> FSMC_D15
1010 PD11 ------> FSMC_A16
1011 PD12 ------> FSMC_A17
1012 PD13 ------> FSMC_A18
1013 PD14 ------> FSMC_D0
1014 PD15 ------> FSMC_D1
1015 PG2 ------> FSMC_A12
1016 PG3 ------> FSMC_A13
1017 PG4 ------> FSMC_A14
1018 PG5 ------> FSMC_A15
1019 PD0 ------> FSMC_D2
1020 PD1 ------> FSMC_D3
1021 PD4 ------> FSMC_NOE
1022 PD5 ------> FSMC_NWE
1023 PG10 ------> FSMC_NE3
1024 PE0 ------> FSMC_NBL0
1025 PE1 ------> FSMC_NBL1
1026 */
1027 HAL_GPIO_DeInit(GPIOF, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
1028 |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_12|GPIO_PIN_13
1029 |GPIO_PIN_14|GPIO_PIN_15);
1030
1031 HAL_GPIO_DeInit(GPIOG, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
1032 |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_10);
1033
1034 HAL_GPIO_DeInit(GPIOE, GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10
1035 |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
1036 |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1);
1037
1038 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
1039 |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15
1040 |GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5);
1041
1042 /* USER CODE BEGIN FSMC_MspDeInit 1 */
1043
1044 /* USER CODE END FSMC_MspDeInit 1 */
1045 }
1046
HAL_SRAM_MspDeInit(SRAM_HandleTypeDef * hsram)1047 void HAL_SRAM_MspDeInit(SRAM_HandleTypeDef* hsram){
1048 /* USER CODE BEGIN SRAM_MspDeInit 0 */
1049
1050 /* USER CODE END SRAM_MspDeInit 0 */
1051 HAL_FSMC_MspDeInit();
1052 /* USER CODE BEGIN SRAM_MspDeInit 1 */
1053
1054 /* USER CODE END SRAM_MspDeInit 1 */
1055 }
1056
1057 /* USER CODE BEGIN 1 */
1058
1059 /* USER CODE END 1 */
1060