1 /* USER CODE BEGIN Header */
2 /**
3 ******************************************************************************
4 * File Name : stm32l4xx_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_SYSCFG_CLK_ENABLE();
93 __HAL_RCC_PWR_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
111 GPIO_InitTypeDef GPIO_InitStruct = {0};
112 if(hadc->Instance==ADC1)
113 {
114 /* USER CODE BEGIN ADC1_MspInit 0 */
115
116 /* USER CODE END ADC1_MspInit 0 */
117 /* Peripheral clock enable */
118 __HAL_RCC_ADC_CLK_ENABLE();
119
120 __HAL_RCC_GPIOC_CLK_ENABLE();
121 /**ADC1 GPIO Configuration
122 PC2 ------> ADC1_IN3
123 PC3 ------> ADC1_IN4
124 */
125 GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
126 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG_ADC_CONTROL;
127 GPIO_InitStruct.Pull = GPIO_NOPULL;
128 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
129
130 /* USER CODE BEGIN ADC1_MspInit 1 */
131
132 /* USER CODE END ADC1_MspInit 1 */
133 }
134
135 }
136
137 /**
138 * @brief ADC MSP De-Initialization
139 * This function freeze the hardware resources used in this example
140 * @param hadc: ADC handle pointer
141 * @retval None
142 */
143
HAL_ADC_MspDeInit(ADC_HandleTypeDef * hadc)144 void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
145 {
146
147 if(hadc->Instance==ADC1)
148 {
149 /* USER CODE BEGIN ADC1_MspDeInit 0 */
150
151 /* USER CODE END ADC1_MspDeInit 0 */
152 /* Peripheral clock disable */
153 __HAL_RCC_ADC_CLK_DISABLE();
154
155 /**ADC1 GPIO Configuration
156 PC2 ------> ADC1_IN3
157 PC3 ------> ADC1_IN4
158 */
159 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_2|GPIO_PIN_3);
160
161 /* USER CODE BEGIN ADC1_MspDeInit 1 */
162
163 /* USER CODE END ADC1_MspDeInit 1 */
164 }
165
166 }
167
168 /**
169 * @brief LPTIM MSP Initialization
170 * This function configures the hardware resources used in this example
171 * @param hlptim: LPTIM handle pointer
172 * @retval None
173 */
HAL_LPTIM_MspInit(LPTIM_HandleTypeDef * hlptim)174 void HAL_LPTIM_MspInit(LPTIM_HandleTypeDef* hlptim)
175 {
176
177 if(hlptim->Instance==LPTIM1)
178 {
179 /* USER CODE BEGIN LPTIM1_MspInit 0 */
180
181 /* USER CODE END LPTIM1_MspInit 0 */
182 /* Peripheral clock enable */
183 __HAL_RCC_LPTIM1_CLK_ENABLE();
184 /* USER CODE BEGIN LPTIM1_MspInit 1 */
185
186 /* USER CODE END LPTIM1_MspInit 1 */
187 }
188
189 }
190
191 /**
192 * @brief LPTIM MSP De-Initialization
193 * This function freeze the hardware resources used in this example
194 * @param hlptim: LPTIM handle pointer
195 * @retval None
196 */
197
HAL_LPTIM_MspDeInit(LPTIM_HandleTypeDef * hlptim)198 void HAL_LPTIM_MspDeInit(LPTIM_HandleTypeDef* hlptim)
199 {
200
201 if(hlptim->Instance==LPTIM1)
202 {
203 /* USER CODE BEGIN LPTIM1_MspDeInit 0 */
204
205 /* USER CODE END LPTIM1_MspDeInit 0 */
206 /* Peripheral clock disable */
207 __HAL_RCC_LPTIM1_CLK_DISABLE();
208 /* USER CODE BEGIN LPTIM1_MspDeInit 1 */
209
210 /* USER CODE END LPTIM1_MspDeInit 1 */
211 }
212
213 }
214
215 /**
216 * @brief UART MSP Initialization
217 * This function configures the hardware resources used in this example
218 * @param huart: UART handle pointer
219 * @retval None
220 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)221 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
222 {
223
224 GPIO_InitTypeDef GPIO_InitStruct = {0};
225 if(huart->Instance==LPUART1)
226 {
227 /* USER CODE BEGIN LPUART1_MspInit 0 */
228
229 /* USER CODE END LPUART1_MspInit 0 */
230 /* Peripheral clock enable */
231 __HAL_RCC_LPUART1_CLK_ENABLE();
232
233 __HAL_RCC_GPIOB_CLK_ENABLE();
234 /**LPUART1 GPIO Configuration
235 PB10 ------> LPUART1_RX
236 PB11 ------> LPUART1_TX
237 */
238 GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
239 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
240 GPIO_InitStruct.Pull = GPIO_PULLUP;
241 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
242 GPIO_InitStruct.Alternate = GPIO_AF8_LPUART1;
243 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
244
245 /* USER CODE BEGIN LPUART1_MspInit 1 */
246
247 /* USER CODE END LPUART1_MspInit 1 */
248 }
249 else if(huart->Instance==USART2)
250 {
251 /* USER CODE BEGIN USART2_MspInit 0 */
252
253 /* USER CODE END USART2_MspInit 0 */
254 /* Peripheral clock enable */
255 __HAL_RCC_USART2_CLK_ENABLE();
256
257 __HAL_RCC_GPIOA_CLK_ENABLE();
258 /**USART2 GPIO Configuration
259 PA2 ------> USART2_TX
260 PA3 ------> USART2_RX
261 */
262 GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
263 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
264 GPIO_InitStruct.Pull = GPIO_PULLUP;
265 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
266 GPIO_InitStruct.Alternate = GPIO_AF7_USART2;
267 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
268
269 /* USER CODE BEGIN USART2_MspInit 1 */
270
271 /* USER CODE END USART2_MspInit 1 */
272 }
273 else if(huart->Instance==USART3)
274 {
275 /* USER CODE BEGIN USART3_MspInit 0 */
276
277 /* USER CODE END USART3_MspInit 0 */
278 /* Peripheral clock enable */
279 __HAL_RCC_USART3_CLK_ENABLE();
280
281 __HAL_RCC_GPIOC_CLK_ENABLE();
282 /**USART3 GPIO Configuration
283 PC4 ------> USART3_TX
284 PC5 ------> USART3_RX
285 */
286 GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5;
287 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
288 GPIO_InitStruct.Pull = GPIO_NOPULL;
289 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
290 GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
291 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
292
293 /* USER CODE BEGIN USART3_MspInit 1 */
294
295 /* USER CODE END USART3_MspInit 1 */
296 }
297
298 }
299
300 /**
301 * @brief UART MSP De-Initialization
302 * This function freeze the hardware resources used in this example
303 * @param huart: UART handle pointer
304 * @retval None
305 */
306
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)307 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
308 {
309
310 if(huart->Instance==LPUART1)
311 {
312 /* USER CODE BEGIN LPUART1_MspDeInit 0 */
313
314 /* USER CODE END LPUART1_MspDeInit 0 */
315 /* Peripheral clock disable */
316 __HAL_RCC_LPUART1_CLK_DISABLE();
317
318 /**LPUART1 GPIO Configuration
319 PB10 ------> LPUART1_RX
320 PB11 ------> LPUART1_TX
321 */
322 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11);
323
324 /* USER CODE BEGIN LPUART1_MspDeInit 1 */
325
326 /* USER CODE END LPUART1_MspDeInit 1 */
327 }
328 else if(huart->Instance==USART2)
329 {
330 /* USER CODE BEGIN USART2_MspDeInit 0 */
331
332 /* USER CODE END USART2_MspDeInit 0 */
333 /* Peripheral clock disable */
334 __HAL_RCC_USART2_CLK_DISABLE();
335
336 /**USART2 GPIO Configuration
337 PA2 ------> USART2_TX
338 PA3 ------> USART2_RX
339 */
340 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
341
342 /* USER CODE BEGIN USART2_MspDeInit 1 */
343
344 /* USER CODE END USART2_MspDeInit 1 */
345 }
346 else if(huart->Instance==USART3)
347 {
348 /* USER CODE BEGIN USART3_MspDeInit 0 */
349
350 /* USER CODE END USART3_MspDeInit 0 */
351 /* Peripheral clock disable */
352 __HAL_RCC_USART3_CLK_DISABLE();
353
354 /**USART3 GPIO Configuration
355 PC4 ------> USART3_TX
356 PC5 ------> USART3_RX
357 */
358 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_4|GPIO_PIN_5);
359
360 /* USER CODE BEGIN USART3_MspDeInit 1 */
361
362 /* USER CODE END USART3_MspDeInit 1 */
363 }
364
365 }
366
367 /**
368 * @brief RTC MSP Initialization
369 * This function configures the hardware resources used in this example
370 * @param hrtc: RTC handle pointer
371 * @retval None
372 */
HAL_RTC_MspInit(RTC_HandleTypeDef * hrtc)373 void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
374 {
375
376 if(hrtc->Instance==RTC)
377 {
378 /* USER CODE BEGIN RTC_MspInit 0 */
379
380 /* USER CODE END RTC_MspInit 0 */
381 /* Peripheral clock enable */
382 __HAL_RCC_RTC_ENABLE();
383 /* USER CODE BEGIN RTC_MspInit 1 */
384
385 /* USER CODE END RTC_MspInit 1 */
386 }
387
388 }
389
390 /**
391 * @brief RTC MSP De-Initialization
392 * This function freeze the hardware resources used in this example
393 * @param hrtc: RTC handle pointer
394 * @retval None
395 */
396
HAL_RTC_MspDeInit(RTC_HandleTypeDef * hrtc)397 void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
398 {
399
400 if(hrtc->Instance==RTC)
401 {
402 /* USER CODE BEGIN RTC_MspDeInit 0 */
403
404 /* USER CODE END RTC_MspDeInit 0 */
405 /* Peripheral clock disable */
406 __HAL_RCC_RTC_DISABLE();
407 /* USER CODE BEGIN RTC_MspDeInit 1 */
408
409 /* USER CODE END RTC_MspDeInit 1 */
410 }
411
412 }
413
414 /**
415 * @brief SD MSP Initialization
416 * This function configures the hardware resources used in this example
417 * @param hsd: SD handle pointer
418 * @retval None
419 */
HAL_SD_MspInit(SD_HandleTypeDef * hsd)420 void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
421 {
422
423 GPIO_InitTypeDef GPIO_InitStruct = {0};
424 if(hsd->Instance==SDMMC1)
425 {
426 /* USER CODE BEGIN SDMMC1_MspInit 0 */
427
428 /* USER CODE END SDMMC1_MspInit 0 */
429 /* Peripheral clock enable */
430 __HAL_RCC_SDMMC1_CLK_ENABLE();
431
432 __HAL_RCC_GPIOC_CLK_ENABLE();
433 __HAL_RCC_GPIOD_CLK_ENABLE();
434 /**SDMMC1 GPIO Configuration
435 PC8 ------> SDMMC1_D0
436 PC9 ------> SDMMC1_D1
437 PC10 ------> SDMMC1_D2
438 PC11 ------> SDMMC1_D3
439 PC12 ------> SDMMC1_CK
440 PD2 ------> SDMMC1_CMD
441 */
442 GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
443 |GPIO_PIN_12;
444 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
445 GPIO_InitStruct.Pull = GPIO_NOPULL;
446 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
447 GPIO_InitStruct.Alternate = GPIO_AF12_SDMMC1;
448 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
449
450 GPIO_InitStruct.Pin = GPIO_PIN_2;
451 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
452 GPIO_InitStruct.Pull = GPIO_NOPULL;
453 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
454 GPIO_InitStruct.Alternate = GPIO_AF12_SDMMC1;
455 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
456
457 /* USER CODE BEGIN SDMMC1_MspInit 1 */
458
459 /* USER CODE END SDMMC1_MspInit 1 */
460 }
461
462 }
463
464 /**
465 * @brief SD MSP De-Initialization
466 * This function freeze the hardware resources used in this example
467 * @param hsd: SD handle pointer
468 * @retval None
469 */
470
HAL_SD_MspDeInit(SD_HandleTypeDef * hsd)471 void HAL_SD_MspDeInit(SD_HandleTypeDef* hsd)
472 {
473
474 if(hsd->Instance==SDMMC1)
475 {
476 /* USER CODE BEGIN SDMMC1_MspDeInit 0 */
477
478 /* USER CODE END SDMMC1_MspDeInit 0 */
479 /* Peripheral clock disable */
480 __HAL_RCC_SDMMC1_CLK_DISABLE();
481
482 /**SDMMC1 GPIO Configuration
483 PC8 ------> SDMMC1_D0
484 PC9 ------> SDMMC1_D1
485 PC10 ------> SDMMC1_D2
486 PC11 ------> SDMMC1_D3
487 PC12 ------> SDMMC1_CK
488 PD2 ------> SDMMC1_CMD
489 */
490 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
491 |GPIO_PIN_12);
492
493 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2);
494
495 /* USER CODE BEGIN SDMMC1_MspDeInit 1 */
496
497 /* USER CODE END SDMMC1_MspDeInit 1 */
498 }
499
500 }
501
502 /**
503 * @brief SPI MSP Initialization
504 * This function configures the hardware resources used in this example
505 * @param hspi: SPI handle pointer
506 * @retval None
507 */
HAL_SPI_MspInit(SPI_HandleTypeDef * hspi)508 void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
509 {
510
511 GPIO_InitTypeDef GPIO_InitStruct = {0};
512 if(hspi->Instance==SPI1)
513 {
514 /* USER CODE BEGIN SPI1_MspInit 0 */
515
516 /* USER CODE END SPI1_MspInit 0 */
517 /* Peripheral clock enable */
518 __HAL_RCC_SPI1_CLK_ENABLE();
519
520 __HAL_RCC_GPIOA_CLK_ENABLE();
521 /**SPI1 GPIO Configuration
522 PA5 ------> SPI1_SCK
523 PA6 ------> SPI1_MISO
524 PA7 ------> SPI1_MOSI
525 */
526 GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
527 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
528 GPIO_InitStruct.Pull = GPIO_NOPULL;
529 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
530 GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
531 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
532
533 /* USER CODE BEGIN SPI1_MspInit 1 */
534
535 /* USER CODE END SPI1_MspInit 1 */
536 }
537 else if(hspi->Instance==SPI2)
538 {
539 /* USER CODE BEGIN SPI2_MspInit 0 */
540
541 /* USER CODE END SPI2_MspInit 0 */
542 /* Peripheral clock enable */
543 __HAL_RCC_SPI2_CLK_ENABLE();
544
545 __HAL_RCC_GPIOC_CLK_ENABLE();
546 __HAL_RCC_GPIOA_CLK_ENABLE();
547 __HAL_RCC_GPIOD_CLK_ENABLE();
548 /**SPI2 GPIO Configuration
549 PC1 ------> SPI2_MOSI
550 PA9 ------> SPI2_SCK
551 PD3 ------> SPI2_MISO
552 */
553 GPIO_InitStruct.Pin = GPIO_PIN_1;
554 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
555 GPIO_InitStruct.Pull = GPIO_NOPULL;
556 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
557 GPIO_InitStruct.Alternate = GPIO_AF3_SPI2;
558 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
559
560 GPIO_InitStruct.Pin = GPIO_PIN_9;
561 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
562 GPIO_InitStruct.Pull = GPIO_NOPULL;
563 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
564 GPIO_InitStruct.Alternate = GPIO_AF3_SPI2;
565 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
566
567 GPIO_InitStruct.Pin = GPIO_PIN_3;
568 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
569 GPIO_InitStruct.Pull = GPIO_NOPULL;
570 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
571 GPIO_InitStruct.Alternate = GPIO_AF5_SPI2;
572 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
573
574 /* USER CODE BEGIN SPI2_MspInit 1 */
575
576 /* USER CODE END SPI2_MspInit 1 */
577 }
578
579 }
580
581 /**
582 * @brief SPI MSP De-Initialization
583 * This function freeze the hardware resources used in this example
584 * @param hspi: SPI handle pointer
585 * @retval None
586 */
587
HAL_SPI_MspDeInit(SPI_HandleTypeDef * hspi)588 void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
589 {
590
591 if(hspi->Instance==SPI1)
592 {
593 /* USER CODE BEGIN SPI1_MspDeInit 0 */
594
595 /* USER CODE END SPI1_MspDeInit 0 */
596 /* Peripheral clock disable */
597 __HAL_RCC_SPI1_CLK_DISABLE();
598
599 /**SPI1 GPIO Configuration
600 PA5 ------> SPI1_SCK
601 PA6 ------> SPI1_MISO
602 PA7 ------> SPI1_MOSI
603 */
604 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
605
606 /* USER CODE BEGIN SPI1_MspDeInit 1 */
607
608 /* USER CODE END SPI1_MspDeInit 1 */
609 }
610 else if(hspi->Instance==SPI2)
611 {
612 /* USER CODE BEGIN SPI2_MspDeInit 0 */
613
614 /* USER CODE END SPI2_MspDeInit 0 */
615 /* Peripheral clock disable */
616 __HAL_RCC_SPI2_CLK_DISABLE();
617
618 /**SPI2 GPIO Configuration
619 PC1 ------> SPI2_MOSI
620 PA9 ------> SPI2_SCK
621 PD3 ------> SPI2_MISO
622 */
623 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_1);
624
625 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9);
626
627 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_3);
628
629 /* USER CODE BEGIN SPI2_MspDeInit 1 */
630
631 /* USER CODE END SPI2_MspDeInit 1 */
632 }
633
634 }
635
636 /**
637 * @brief TIM_PWM MSP Initialization
638 * This function configures the hardware resources used in this example
639 * @param htim_pwm: TIM_PWM handle pointer
640 * @retval None
641 */
HAL_TIM_PWM_MspInit(TIM_HandleTypeDef * htim_pwm)642 void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm)
643 {
644
645 if(htim_pwm->Instance==TIM3)
646 {
647 /* USER CODE BEGIN TIM3_MspInit 0 */
648
649 /* USER CODE END TIM3_MspInit 0 */
650 /* Peripheral clock enable */
651 __HAL_RCC_TIM3_CLK_ENABLE();
652 /* USER CODE BEGIN TIM3_MspInit 1 */
653
654 /* USER CODE END TIM3_MspInit 1 */
655 }
656
657 }
658
659 /**
660 * @brief TIM_Base MSP Initialization
661 * This function configures the hardware resources used in this example
662 * @param htim_base: TIM_Base handle pointer
663 * @retval None
664 */
HAL_TIM_Base_MspInit(TIM_HandleTypeDef * htim_base)665 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
666 {
667
668 if(htim_base->Instance==TIM15)
669 {
670 /* USER CODE BEGIN TIM15_MspInit 0 */
671
672 /* USER CODE END TIM15_MspInit 0 */
673 /* Peripheral clock enable */
674 __HAL_RCC_TIM15_CLK_ENABLE();
675 /* USER CODE BEGIN TIM15_MspInit 1 */
676
677 /* USER CODE END TIM15_MspInit 1 */
678 }
679 else if(htim_base->Instance==TIM16)
680 {
681 /* USER CODE BEGIN TIM16_MspInit 0 */
682
683 /* USER CODE END TIM16_MspInit 0 */
684 /* Peripheral clock enable */
685 __HAL_RCC_TIM16_CLK_ENABLE();
686 /* USER CODE BEGIN TIM16_MspInit 1 */
687
688 /* USER CODE END TIM16_MspInit 1 */
689 }
690 else if(htim_base->Instance==TIM17)
691 {
692 /* USER CODE BEGIN TIM17_MspInit 0 */
693
694 /* USER CODE END TIM17_MspInit 0 */
695 /* Peripheral clock enable */
696 __HAL_RCC_TIM17_CLK_ENABLE();
697 /* USER CODE BEGIN TIM17_MspInit 1 */
698
699 /* USER CODE END TIM17_MspInit 1 */
700 }
701
702 }
703
HAL_TIM_MspPostInit(TIM_HandleTypeDef * htim)704 void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
705 {
706
707 GPIO_InitTypeDef GPIO_InitStruct = {0};
708 if(htim->Instance==TIM3)
709 {
710 /* USER CODE BEGIN TIM3_MspPostInit 0 */
711
712 /* USER CODE END TIM3_MspPostInit 0 */
713
714 __HAL_RCC_GPIOE_CLK_ENABLE();
715 /**TIM3 GPIO Configuration
716 PE4 ------> TIM3_CH2
717 PE5 ------> TIM3_CH3
718 PE6 ------> TIM3_CH4
719 */
720 GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6;
721 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
722 GPIO_InitStruct.Pull = GPIO_NOPULL;
723 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
724 GPIO_InitStruct.Alternate = GPIO_AF2_TIM3;
725 HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
726
727 /* USER CODE BEGIN TIM3_MspPostInit 1 */
728
729 /* USER CODE END TIM3_MspPostInit 1 */
730 }
731
732 }
733 /**
734 * @brief TIM_PWM MSP De-Initialization
735 * This function freeze the hardware resources used in this example
736 * @param htim_pwm: TIM_PWM handle pointer
737 * @retval None
738 */
739
HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef * htim_pwm)740 void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* htim_pwm)
741 {
742
743 if(htim_pwm->Instance==TIM3)
744 {
745 /* USER CODE BEGIN TIM3_MspDeInit 0 */
746
747 /* USER CODE END TIM3_MspDeInit 0 */
748 /* Peripheral clock disable */
749 __HAL_RCC_TIM3_CLK_DISABLE();
750 /* USER CODE BEGIN TIM3_MspDeInit 1 */
751
752 /* USER CODE END TIM3_MspDeInit 1 */
753 }
754
755 }
756
757 /**
758 * @brief TIM_Base MSP De-Initialization
759 * This function freeze the hardware resources used in this example
760 * @param htim_base: TIM_Base handle pointer
761 * @retval None
762 */
763
HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef * htim_base)764 void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
765 {
766
767 if(htim_base->Instance==TIM15)
768 {
769 /* USER CODE BEGIN TIM15_MspDeInit 0 */
770
771 /* USER CODE END TIM15_MspDeInit 0 */
772 /* Peripheral clock disable */
773 __HAL_RCC_TIM15_CLK_DISABLE();
774 /* USER CODE BEGIN TIM15_MspDeInit 1 */
775
776 /* USER CODE END TIM15_MspDeInit 1 */
777 }
778 else if(htim_base->Instance==TIM16)
779 {
780 /* USER CODE BEGIN TIM16_MspDeInit 0 */
781
782 /* USER CODE END TIM16_MspDeInit 0 */
783 /* Peripheral clock disable */
784 __HAL_RCC_TIM16_CLK_DISABLE();
785 /* USER CODE BEGIN TIM16_MspDeInit 1 */
786
787 /* USER CODE END TIM16_MspDeInit 1 */
788 }
789 else if(htim_base->Instance==TIM17)
790 {
791 /* USER CODE BEGIN TIM17_MspDeInit 0 */
792
793 /* USER CODE END TIM17_MspDeInit 0 */
794 /* Peripheral clock disable */
795 __HAL_RCC_TIM17_CLK_DISABLE();
796 /* USER CODE BEGIN TIM17_MspDeInit 1 */
797
798 /* USER CODE END TIM17_MspDeInit 1 */
799 }
800
801 }
802
803 /* USER CODE BEGIN 1 */
804
805 /* USER CODE END 1 */
806
807 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
808