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   * @attention
9   *
10   * <h2><center>&copy; 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   RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
92   if(hadc->Instance==ADC1)
93   {
94   /* USER CODE BEGIN ADC1_MspInit 0 */
95 
96   /* USER CODE END ADC1_MspInit 0 */
97 
98   /** Initializes the peripherals clock
99   */
100     PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC;
101     PeriphClkInit.AdcClockSelection = RCC_ADCCLKSOURCE_PLLSAI1;
102     PeriphClkInit.PLLSAI1.PLLSAI1Source = RCC_PLLSOURCE_MSI;
103     PeriphClkInit.PLLSAI1.PLLSAI1M = 1;
104     PeriphClkInit.PLLSAI1.PLLSAI1N = 16;
105     PeriphClkInit.PLLSAI1.PLLSAI1P = RCC_PLLP_DIV7;
106     PeriphClkInit.PLLSAI1.PLLSAI1Q = RCC_PLLQ_DIV2;
107     PeriphClkInit.PLLSAI1.PLLSAI1R = RCC_PLLR_DIV2;
108     PeriphClkInit.PLLSAI1.PLLSAI1ClockOut = RCC_PLLSAI1_ADC1CLK;
109     if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
110     {
111       Error_Handler();
112     }
113 
114     /* Peripheral clock enable */
115     __HAL_RCC_ADC_CLK_ENABLE();
116 
117     __HAL_RCC_GPIOC_CLK_ENABLE();
118     /**ADC1 GPIO Configuration
119     PC2     ------> ADC1_IN3
120     */
121     GPIO_InitStruct.Pin = GPIO_PIN_2;
122     GPIO_InitStruct.Mode = GPIO_MODE_ANALOG_ADC_CONTROL;
123     GPIO_InitStruct.Pull = GPIO_NOPULL;
124     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
125 
126   /* USER CODE BEGIN ADC1_MspInit 1 */
127 
128   /* USER CODE END ADC1_MspInit 1 */
129   }
130 
131 }
132 
133 /**
134 * @brief ADC MSP De-Initialization
135 * This function freeze the hardware resources used in this example
136 * @param hadc: ADC handle pointer
137 * @retval None
138 */
HAL_ADC_MspDeInit(ADC_HandleTypeDef * hadc)139 void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
140 {
141   if(hadc->Instance==ADC1)
142   {
143   /* USER CODE BEGIN ADC1_MspDeInit 0 */
144 
145   /* USER CODE END ADC1_MspDeInit 0 */
146     /* Peripheral clock disable */
147     __HAL_RCC_ADC_CLK_DISABLE();
148 
149     /**ADC1 GPIO Configuration
150     PC2     ------> ADC1_IN3
151     */
152     HAL_GPIO_DeInit(GPIOC, GPIO_PIN_2);
153 
154   /* USER CODE BEGIN ADC1_MspDeInit 1 */
155 
156   /* USER CODE END ADC1_MspDeInit 1 */
157   }
158 
159 }
160 
161 /**
162 * @brief DAC MSP Initialization
163 * This function configures the hardware resources used in this example
164 * @param hdac: DAC handle pointer
165 * @retval None
166 */
HAL_DAC_MspInit(DAC_HandleTypeDef * hdac)167 void HAL_DAC_MspInit(DAC_HandleTypeDef* hdac)
168 {
169   GPIO_InitTypeDef GPIO_InitStruct = {0};
170   if(hdac->Instance==DAC1)
171   {
172   /* USER CODE BEGIN DAC1_MspInit 0 */
173 
174   /* USER CODE END DAC1_MspInit 0 */
175     /* Peripheral clock enable */
176     __HAL_RCC_DAC1_CLK_ENABLE();
177 
178     __HAL_RCC_GPIOA_CLK_ENABLE();
179     /**DAC1 GPIO Configuration
180     PA5     ------> DAC1_OUT2
181     */
182     GPIO_InitStruct.Pin = GPIO_PIN_5;
183     GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
184     GPIO_InitStruct.Pull = GPIO_NOPULL;
185     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
186 
187   /* USER CODE BEGIN DAC1_MspInit 1 */
188 
189   /* USER CODE END DAC1_MspInit 1 */
190   }
191 
192 }
193 
194 /**
195 * @brief DAC MSP De-Initialization
196 * This function freeze the hardware resources used in this example
197 * @param hdac: DAC handle pointer
198 * @retval None
199 */
HAL_DAC_MspDeInit(DAC_HandleTypeDef * hdac)200 void HAL_DAC_MspDeInit(DAC_HandleTypeDef* hdac)
201 {
202   if(hdac->Instance==DAC1)
203   {
204   /* USER CODE BEGIN DAC1_MspDeInit 0 */
205 
206   /* USER CODE END DAC1_MspDeInit 0 */
207     /* Peripheral clock disable */
208     __HAL_RCC_DAC1_CLK_DISABLE();
209 
210     /**DAC1 GPIO Configuration
211     PA5     ------> DAC1_OUT2
212     */
213     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5);
214 
215   /* USER CODE BEGIN DAC1_MspDeInit 1 */
216 
217   /* USER CODE END DAC1_MspDeInit 1 */
218   }
219 
220 }
221 
222 /**
223 * @brief UART MSP Initialization
224 * This function configures the hardware resources used in this example
225 * @param huart: UART handle pointer
226 * @retval None
227 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)228 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
229 {
230   GPIO_InitTypeDef GPIO_InitStruct = {0};
231   RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
232   if(huart->Instance==LPUART1)
233   {
234   /* USER CODE BEGIN LPUART1_MspInit 0 */
235 
236   /* USER CODE END LPUART1_MspInit 0 */
237 
238   /** Initializes the peripherals clock
239   */
240     PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_LPUART1;
241     PeriphClkInit.Lpuart1ClockSelection = RCC_LPUART1CLKSOURCE_PCLK1;
242     if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
243     {
244       Error_Handler();
245     }
246 
247     /* Peripheral clock enable */
248     __HAL_RCC_LPUART1_CLK_ENABLE();
249 
250     __HAL_RCC_GPIOC_CLK_ENABLE();
251     /**LPUART1 GPIO Configuration
252     PC0     ------> LPUART1_RX
253     PC1     ------> LPUART1_TX
254     */
255     GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
256     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
257     GPIO_InitStruct.Pull = GPIO_NOPULL;
258     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
259     GPIO_InitStruct.Alternate = GPIO_AF8_LPUART1;
260     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
261 
262   /* USER CODE BEGIN LPUART1_MspInit 1 */
263 
264   /* USER CODE END LPUART1_MspInit 1 */
265   }
266   else if(huart->Instance==USART1)
267   {
268   /* USER CODE BEGIN USART1_MspInit 0 */
269 
270   /* USER CODE END USART1_MspInit 0 */
271 
272   /** Initializes the peripherals clock
273   */
274     PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART1;
275     PeriphClkInit.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
276     if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
277     {
278       Error_Handler();
279     }
280 
281     /* Peripheral clock enable */
282     __HAL_RCC_USART1_CLK_ENABLE();
283 
284     __HAL_RCC_GPIOA_CLK_ENABLE();
285     /**USART1 GPIO Configuration
286     PA9     ------> USART1_TX
287     PA10     ------> USART1_RX
288     */
289     GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;
290     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
291     GPIO_InitStruct.Pull = GPIO_PULLUP;
292     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
293     GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
294     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
295 
296   /* USER CODE BEGIN USART1_MspInit 1 */
297 
298   /* USER CODE END USART1_MspInit 1 */
299   }
300   else if(huart->Instance==USART3)
301   {
302   /* USER CODE BEGIN USART3_MspInit 0 */
303 
304   /* USER CODE END USART3_MspInit 0 */
305 
306   /** Initializes the peripherals clock
307   */
308     PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART3;
309     PeriphClkInit.Usart3ClockSelection = RCC_USART3CLKSOURCE_PCLK1;
310     if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
311     {
312       Error_Handler();
313     }
314 
315     /* Peripheral clock enable */
316     __HAL_RCC_USART3_CLK_ENABLE();
317 
318     __HAL_RCC_GPIOC_CLK_ENABLE();
319     /**USART3 GPIO Configuration
320     PC4     ------> USART3_TX
321     PC5     ------> USART3_RX
322     */
323     GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5;
324     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
325     GPIO_InitStruct.Pull = GPIO_NOPULL;
326     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
327     GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
328     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
329 
330   /* USER CODE BEGIN USART3_MspInit 1 */
331 
332   /* USER CODE END USART3_MspInit 1 */
333   }
334 
335 }
336 
337 /**
338 * @brief UART MSP De-Initialization
339 * This function freeze the hardware resources used in this example
340 * @param huart: UART handle pointer
341 * @retval None
342 */
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)343 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
344 {
345   if(huart->Instance==LPUART1)
346   {
347   /* USER CODE BEGIN LPUART1_MspDeInit 0 */
348 
349   /* USER CODE END LPUART1_MspDeInit 0 */
350     /* Peripheral clock disable */
351     __HAL_RCC_LPUART1_CLK_DISABLE();
352 
353     /**LPUART1 GPIO Configuration
354     PC0     ------> LPUART1_RX
355     PC1     ------> LPUART1_TX
356     */
357     HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0|GPIO_PIN_1);
358 
359   /* USER CODE BEGIN LPUART1_MspDeInit 1 */
360 
361   /* USER CODE END LPUART1_MspDeInit 1 */
362   }
363   else if(huart->Instance==USART1)
364   {
365   /* USER CODE BEGIN USART1_MspDeInit 0 */
366 
367   /* USER CODE END USART1_MspDeInit 0 */
368     /* Peripheral clock disable */
369     __HAL_RCC_USART1_CLK_DISABLE();
370 
371     /**USART1 GPIO Configuration
372     PA9     ------> USART1_TX
373     PA10     ------> USART1_RX
374     */
375     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
376 
377   /* USER CODE BEGIN USART1_MspDeInit 1 */
378 
379   /* USER CODE END USART1_MspDeInit 1 */
380   }
381   else if(huart->Instance==USART3)
382   {
383   /* USER CODE BEGIN USART3_MspDeInit 0 */
384 
385   /* USER CODE END USART3_MspDeInit 0 */
386     /* Peripheral clock disable */
387     __HAL_RCC_USART3_CLK_DISABLE();
388 
389     /**USART3 GPIO Configuration
390     PC4     ------> USART3_TX
391     PC5     ------> USART3_RX
392     */
393     HAL_GPIO_DeInit(GPIOC, GPIO_PIN_4|GPIO_PIN_5);
394 
395   /* USER CODE BEGIN USART3_MspDeInit 1 */
396 
397   /* USER CODE END USART3_MspDeInit 1 */
398   }
399 
400 }
401 
402 /**
403 * @brief SPI MSP Initialization
404 * This function configures the hardware resources used in this example
405 * @param hspi: SPI handle pointer
406 * @retval None
407 */
HAL_SPI_MspInit(SPI_HandleTypeDef * hspi)408 void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
409 {
410   GPIO_InitTypeDef GPIO_InitStruct = {0};
411   if(hspi->Instance==SPI1)
412   {
413   /* USER CODE BEGIN SPI1_MspInit 0 */
414 
415   /* USER CODE END SPI1_MspInit 0 */
416     /* Peripheral clock enable */
417     __HAL_RCC_SPI1_CLK_ENABLE();
418 
419     __HAL_RCC_GPIOA_CLK_ENABLE();
420     /**SPI1 GPIO Configuration
421     PA1     ------> SPI1_SCK
422     PA6     ------> SPI1_MISO
423     PA12     ------> SPI1_MOSI
424     */
425     GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_6|GPIO_PIN_12;
426     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
427     GPIO_InitStruct.Pull = GPIO_NOPULL;
428     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
429     GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
430     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
431 
432   /* USER CODE BEGIN SPI1_MspInit 1 */
433 
434   /* USER CODE END SPI1_MspInit 1 */
435   }
436   else if(hspi->Instance==SPI2)
437   {
438   /* USER CODE BEGIN SPI2_MspInit 0 */
439 
440   /* USER CODE END SPI2_MspInit 0 */
441     /* Peripheral clock enable */
442     __HAL_RCC_SPI2_CLK_ENABLE();
443 
444     __HAL_RCC_GPIOC_CLK_ENABLE();
445     __HAL_RCC_GPIOB_CLK_ENABLE();
446     /**SPI2 GPIO Configuration
447     PC3     ------> SPI2_MOSI
448     PB13     ------> SPI2_SCK
449     */
450     GPIO_InitStruct.Pin = GPIO_PIN_3;
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_AF5_SPI2;
455     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
456 
457     GPIO_InitStruct.Pin = GPIO_PIN_13;
458     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
459     GPIO_InitStruct.Pull = GPIO_NOPULL;
460     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
461     GPIO_InitStruct.Alternate = GPIO_AF5_SPI2;
462     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
463 
464   /* USER CODE BEGIN SPI2_MspInit 1 */
465 
466   /* USER CODE END SPI2_MspInit 1 */
467   }
468 
469 }
470 
471 /**
472 * @brief SPI MSP De-Initialization
473 * This function freeze the hardware resources used in this example
474 * @param hspi: SPI handle pointer
475 * @retval None
476 */
HAL_SPI_MspDeInit(SPI_HandleTypeDef * hspi)477 void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
478 {
479   if(hspi->Instance==SPI1)
480   {
481   /* USER CODE BEGIN SPI1_MspDeInit 0 */
482 
483   /* USER CODE END SPI1_MspDeInit 0 */
484     /* Peripheral clock disable */
485     __HAL_RCC_SPI1_CLK_DISABLE();
486 
487     /**SPI1 GPIO Configuration
488     PA1     ------> SPI1_SCK
489     PA6     ------> SPI1_MISO
490     PA12     ------> SPI1_MOSI
491     */
492     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_6|GPIO_PIN_12);
493 
494   /* USER CODE BEGIN SPI1_MspDeInit 1 */
495 
496   /* USER CODE END SPI1_MspDeInit 1 */
497   }
498   else if(hspi->Instance==SPI2)
499   {
500   /* USER CODE BEGIN SPI2_MspDeInit 0 */
501 
502   /* USER CODE END SPI2_MspDeInit 0 */
503     /* Peripheral clock disable */
504     __HAL_RCC_SPI2_CLK_DISABLE();
505 
506     /**SPI2 GPIO Configuration
507     PC3     ------> SPI2_MOSI
508     PB13     ------> SPI2_SCK
509     */
510     HAL_GPIO_DeInit(GPIOC, GPIO_PIN_3);
511 
512     HAL_GPIO_DeInit(GPIOB, GPIO_PIN_13);
513 
514   /* USER CODE BEGIN SPI2_MspDeInit 1 */
515 
516   /* USER CODE END SPI2_MspDeInit 1 */
517   }
518 
519 }
520 
521 /**
522 * @brief TIM_Base MSP Initialization
523 * This function configures the hardware resources used in this example
524 * @param htim_base: TIM_Base handle pointer
525 * @retval None
526 */
HAL_TIM_Base_MspInit(TIM_HandleTypeDef * htim_base)527 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
528 {
529   if(htim_base->Instance==TIM1)
530   {
531   /* USER CODE BEGIN TIM1_MspInit 0 */
532 
533   /* USER CODE END TIM1_MspInit 0 */
534     /* Peripheral clock enable */
535     __HAL_RCC_TIM1_CLK_ENABLE();
536   /* USER CODE BEGIN TIM1_MspInit 1 */
537 
538   /* USER CODE END TIM1_MspInit 1 */
539   }
540   else if(htim_base->Instance==TIM16)
541   {
542   /* USER CODE BEGIN TIM16_MspInit 0 */
543 
544   /* USER CODE END TIM16_MspInit 0 */
545     /* Peripheral clock enable */
546     __HAL_RCC_TIM16_CLK_ENABLE();
547   /* USER CODE BEGIN TIM16_MspInit 1 */
548 
549   /* USER CODE END TIM16_MspInit 1 */
550   }
551 
552 }
553 
HAL_TIM_MspPostInit(TIM_HandleTypeDef * htim)554 void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
555 {
556   GPIO_InitTypeDef GPIO_InitStruct = {0};
557   if(htim->Instance==TIM1)
558   {
559   /* USER CODE BEGIN TIM1_MspPostInit 0 */
560 
561   /* USER CODE END TIM1_MspPostInit 0 */
562     __HAL_RCC_GPIOA_CLK_ENABLE();
563     /**TIM1 GPIO Configuration
564     PA8     ------> TIM1_CH1
565     */
566     GPIO_InitStruct.Pin = GPIO_PIN_8;
567     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
568     GPIO_InitStruct.Pull = GPIO_NOPULL;
569     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
570     GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;
571     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
572 
573   /* USER CODE BEGIN TIM1_MspPostInit 1 */
574 
575   /* USER CODE END TIM1_MspPostInit 1 */
576   }
577   else if(htim->Instance==TIM16)
578   {
579   /* USER CODE BEGIN TIM16_MspPostInit 0 */
580 
581   /* USER CODE END TIM16_MspPostInit 0 */
582 
583     __HAL_RCC_GPIOB_CLK_ENABLE();
584     /**TIM16 GPIO Configuration
585     PB8     ------> TIM16_CH1
586     */
587     GPIO_InitStruct.Pin = GPIO_PIN_8;
588     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
589     GPIO_InitStruct.Pull = GPIO_NOPULL;
590     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
591     GPIO_InitStruct.Alternate = GPIO_AF14_TIM16;
592     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
593 
594   /* USER CODE BEGIN TIM16_MspPostInit 1 */
595 
596   /* USER CODE END TIM16_MspPostInit 1 */
597   }
598 
599 }
600 /**
601 * @brief TIM_Base MSP De-Initialization
602 * This function freeze the hardware resources used in this example
603 * @param htim_base: TIM_Base handle pointer
604 * @retval None
605 */
HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef * htim_base)606 void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
607 {
608   if(htim_base->Instance==TIM1)
609   {
610   /* USER CODE BEGIN TIM1_MspDeInit 0 */
611 
612   /* USER CODE END TIM1_MspDeInit 0 */
613     /* Peripheral clock disable */
614     __HAL_RCC_TIM1_CLK_DISABLE();
615   /* USER CODE BEGIN TIM1_MspDeInit 1 */
616 
617   /* USER CODE END TIM1_MspDeInit 1 */
618   }
619   else if(htim_base->Instance==TIM16)
620   {
621   /* USER CODE BEGIN TIM16_MspDeInit 0 */
622 
623   /* USER CODE END TIM16_MspDeInit 0 */
624     /* Peripheral clock disable */
625     __HAL_RCC_TIM16_CLK_DISABLE();
626   /* USER CODE BEGIN TIM16_MspDeInit 1 */
627 
628   /* USER CODE END TIM16_MspDeInit 1 */
629   }
630 
631 }
632 
633 /* USER CODE BEGIN 1 */
634 
635 /* USER CODE END 1 */
636