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>&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   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_GPIOA_CLK_ENABLE();
100     __HAL_RCC_GPIOB_CLK_ENABLE();
101     /**ADC1 GPIO Configuration
102     PA0-WKUP     ------> ADC1_IN0
103     PA1     ------> ADC1_IN1
104     PA4     ------> ADC1_IN4
105     PA5     ------> ADC1_IN5
106     PA6     ------> ADC1_IN6
107     PA7     ------> ADC1_IN7
108     PB0     ------> ADC1_IN8
109     PB1     ------> ADC1_IN9
110     */
111     GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5
112                           |GPIO_PIN_6|GPIO_PIN_7;
113     GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
114     GPIO_InitStruct.Pull = GPIO_NOPULL;
115     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
116 
117     GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
118     GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
119     GPIO_InitStruct.Pull = GPIO_NOPULL;
120     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
121 
122   /* USER CODE BEGIN ADC1_MspInit 1 */
123 
124   /* USER CODE END ADC1_MspInit 1 */
125   }
126 
127 }
128 
129 /**
130 * @brief ADC MSP De-Initialization
131 * This function freeze the hardware resources used in this example
132 * @param hadc: ADC handle pointer
133 * @retval None
134 */
HAL_ADC_MspDeInit(ADC_HandleTypeDef * hadc)135 void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
136 {
137   if(hadc->Instance==ADC1)
138   {
139   /* USER CODE BEGIN ADC1_MspDeInit 0 */
140 
141   /* USER CODE END ADC1_MspDeInit 0 */
142     /* Peripheral clock disable */
143     __HAL_RCC_ADC1_CLK_DISABLE();
144 
145     /**ADC1 GPIO Configuration
146     PA0-WKUP     ------> ADC1_IN0
147     PA1     ------> ADC1_IN1
148     PA4     ------> ADC1_IN4
149     PA5     ------> ADC1_IN5
150     PA6     ------> ADC1_IN6
151     PA7     ------> ADC1_IN7
152     PB0     ------> ADC1_IN8
153     PB1     ------> ADC1_IN9
154     */
155     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5
156                           |GPIO_PIN_6|GPIO_PIN_7);
157 
158     HAL_GPIO_DeInit(GPIOB, GPIO_PIN_0|GPIO_PIN_1);
159 
160   /* USER CODE BEGIN ADC1_MspDeInit 1 */
161 
162   /* USER CODE END ADC1_MspDeInit 1 */
163   }
164 
165 }
166 
167 /**
168 * @brief RTC MSP Initialization
169 * This function configures the hardware resources used in this example
170 * @param hrtc: RTC handle pointer
171 * @retval None
172 */
HAL_RTC_MspInit(RTC_HandleTypeDef * hrtc)173 void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
174 {
175   RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
176   if(hrtc->Instance==RTC)
177   {
178   /* USER CODE BEGIN RTC_MspInit 0 */
179 
180   /* USER CODE END RTC_MspInit 0 */
181 
182   /** Initializes the peripherals clock
183   */
184     PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC;
185     PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
186     if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
187     {
188       Error_Handler();
189     }
190 
191     /* Peripheral clock enable */
192     __HAL_RCC_RTC_ENABLE();
193   /* USER CODE BEGIN RTC_MspInit 1 */
194 
195   /* USER CODE END RTC_MspInit 1 */
196   }
197 
198 }
199 
200 /**
201 * @brief RTC MSP De-Initialization
202 * This function freeze the hardware resources used in this example
203 * @param hrtc: RTC handle pointer
204 * @retval None
205 */
HAL_RTC_MspDeInit(RTC_HandleTypeDef * hrtc)206 void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
207 {
208   if(hrtc->Instance==RTC)
209   {
210   /* USER CODE BEGIN RTC_MspDeInit 0 */
211 
212   /* USER CODE END RTC_MspDeInit 0 */
213     /* Peripheral clock disable */
214     __HAL_RCC_RTC_DISABLE();
215   /* USER CODE BEGIN RTC_MspDeInit 1 */
216 
217   /* USER CODE END RTC_MspDeInit 1 */
218   }
219 
220 }
221 
222 /**
223 * @brief SPI MSP Initialization
224 * This function configures the hardware resources used in this example
225 * @param hspi: SPI handle pointer
226 * @retval None
227 */
HAL_SPI_MspInit(SPI_HandleTypeDef * hspi)228 void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
229 {
230   GPIO_InitTypeDef GPIO_InitStruct = {0};
231   if(hspi->Instance==SPI1)
232   {
233   /* USER CODE BEGIN SPI1_MspInit 0 */
234 
235   /* USER CODE END SPI1_MspInit 0 */
236     /* Peripheral clock enable */
237     __HAL_RCC_SPI1_CLK_ENABLE();
238 
239     __HAL_RCC_GPIOB_CLK_ENABLE();
240     /**SPI1 GPIO Configuration
241     PB3     ------> SPI1_SCK
242     PB4     ------> SPI1_MISO
243     PB5     ------> SPI1_MOSI
244     */
245     GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5;
246     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
247     GPIO_InitStruct.Pull = GPIO_NOPULL;
248     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
249     GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
250     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
251 
252   /* USER CODE BEGIN SPI1_MspInit 1 */
253 
254   /* USER CODE END SPI1_MspInit 1 */
255   }
256 
257 }
258 
259 /**
260 * @brief SPI MSP De-Initialization
261 * This function freeze the hardware resources used in this example
262 * @param hspi: SPI handle pointer
263 * @retval None
264 */
HAL_SPI_MspDeInit(SPI_HandleTypeDef * hspi)265 void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
266 {
267   if(hspi->Instance==SPI1)
268   {
269   /* USER CODE BEGIN SPI1_MspDeInit 0 */
270 
271   /* USER CODE END SPI1_MspDeInit 0 */
272     /* Peripheral clock disable */
273     __HAL_RCC_SPI1_CLK_DISABLE();
274 
275     /**SPI1 GPIO Configuration
276     PB3     ------> SPI1_SCK
277     PB4     ------> SPI1_MISO
278     PB5     ------> SPI1_MOSI
279     */
280     HAL_GPIO_DeInit(GPIOB, GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5);
281 
282   /* USER CODE BEGIN SPI1_MspDeInit 1 */
283 
284   /* USER CODE END SPI1_MspDeInit 1 */
285   }
286 
287 }
288 
289 /**
290 * @brief TIM_Base MSP Initialization
291 * This function configures the hardware resources used in this example
292 * @param htim_base: TIM_Base handle pointer
293 * @retval None
294 */
HAL_TIM_Base_MspInit(TIM_HandleTypeDef * htim_base)295 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
296 {
297   if(htim_base->Instance==TIM1)
298   {
299   /* USER CODE BEGIN TIM1_MspInit 0 */
300 
301   /* USER CODE END TIM1_MspInit 0 */
302     /* Peripheral clock enable */
303     __HAL_RCC_TIM1_CLK_ENABLE();
304   /* USER CODE BEGIN TIM1_MspInit 1 */
305 
306   /* USER CODE END TIM1_MspInit 1 */
307   }
308   else if(htim_base->Instance==TIM4)
309   {
310   /* USER CODE BEGIN TIM4_MspInit 0 */
311 
312   /* USER CODE END TIM4_MspInit 0 */
313     /* Peripheral clock enable */
314     __HAL_RCC_TIM4_CLK_ENABLE();
315   /* USER CODE BEGIN TIM4_MspInit 1 */
316 
317   /* USER CODE END TIM4_MspInit 1 */
318   }
319   else if(htim_base->Instance==TIM10)
320   {
321   /* USER CODE BEGIN TIM10_MspInit 0 */
322 
323   /* USER CODE END TIM10_MspInit 0 */
324     /* Peripheral clock enable */
325     __HAL_RCC_TIM10_CLK_ENABLE();
326   /* USER CODE BEGIN TIM10_MspInit 1 */
327 
328   /* USER CODE END TIM10_MspInit 1 */
329   }
330   else if(htim_base->Instance==TIM11)
331   {
332   /* USER CODE BEGIN TIM11_MspInit 0 */
333 
334   /* USER CODE END TIM11_MspInit 0 */
335     /* Peripheral clock enable */
336     __HAL_RCC_TIM11_CLK_ENABLE();
337   /* USER CODE BEGIN TIM11_MspInit 1 */
338 
339   /* USER CODE END TIM11_MspInit 1 */
340   }
341 
342 }
343 
HAL_TIM_MspPostInit(TIM_HandleTypeDef * htim)344 void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
345 {
346   GPIO_InitTypeDef GPIO_InitStruct = {0};
347   if(htim->Instance==TIM1)
348   {
349   /* USER CODE BEGIN TIM1_MspPostInit 0 */
350 
351   /* USER CODE END TIM1_MspPostInit 0 */
352     __HAL_RCC_GPIOB_CLK_ENABLE();
353     /**TIM1 GPIO Configuration
354     PB13     ------> TIM1_CH1N
355     PB14     ------> TIM1_CH2N
356     PB15     ------> TIM1_CH3N
357     */
358     GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
359     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
360     GPIO_InitStruct.Pull = GPIO_NOPULL;
361     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
362     GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;
363     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
364 
365   /* USER CODE BEGIN TIM1_MspPostInit 1 */
366 
367   /* USER CODE END TIM1_MspPostInit 1 */
368   }
369   else if(htim->Instance==TIM4)
370   {
371   /* USER CODE BEGIN TIM4_MspPostInit 0 */
372 
373   /* USER CODE END TIM4_MspPostInit 0 */
374 
375     __HAL_RCC_GPIOB_CLK_ENABLE();
376     /**TIM4 GPIO Configuration
377     PB6     ------> TIM4_CH1
378     PB7     ------> TIM4_CH2
379     PB8     ------> TIM4_CH3
380     PB9     ------> TIM4_CH4
381     */
382     GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9;
383     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
384     GPIO_InitStruct.Pull = GPIO_NOPULL;
385     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
386     GPIO_InitStruct.Alternate = GPIO_AF2_TIM4;
387     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
388 
389   /* USER CODE BEGIN TIM4_MspPostInit 1 */
390 
391   /* USER CODE END TIM4_MspPostInit 1 */
392   }
393 
394 }
395 /**
396 * @brief TIM_Base MSP De-Initialization
397 * This function freeze the hardware resources used in this example
398 * @param htim_base: TIM_Base handle pointer
399 * @retval None
400 */
HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef * htim_base)401 void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
402 {
403   if(htim_base->Instance==TIM1)
404   {
405   /* USER CODE BEGIN TIM1_MspDeInit 0 */
406 
407   /* USER CODE END TIM1_MspDeInit 0 */
408     /* Peripheral clock disable */
409     __HAL_RCC_TIM1_CLK_DISABLE();
410   /* USER CODE BEGIN TIM1_MspDeInit 1 */
411 
412   /* USER CODE END TIM1_MspDeInit 1 */
413   }
414   else if(htim_base->Instance==TIM4)
415   {
416   /* USER CODE BEGIN TIM4_MspDeInit 0 */
417 
418   /* USER CODE END TIM4_MspDeInit 0 */
419     /* Peripheral clock disable */
420     __HAL_RCC_TIM4_CLK_DISABLE();
421   /* USER CODE BEGIN TIM4_MspDeInit 1 */
422 
423   /* USER CODE END TIM4_MspDeInit 1 */
424   }
425   else if(htim_base->Instance==TIM10)
426   {
427   /* USER CODE BEGIN TIM10_MspDeInit 0 */
428 
429   /* USER CODE END TIM10_MspDeInit 0 */
430     /* Peripheral clock disable */
431     __HAL_RCC_TIM10_CLK_DISABLE();
432   /* USER CODE BEGIN TIM10_MspDeInit 1 */
433 
434   /* USER CODE END TIM10_MspDeInit 1 */
435   }
436   else if(htim_base->Instance==TIM11)
437   {
438   /* USER CODE BEGIN TIM11_MspDeInit 0 */
439 
440   /* USER CODE END TIM11_MspDeInit 0 */
441     /* Peripheral clock disable */
442     __HAL_RCC_TIM11_CLK_DISABLE();
443   /* USER CODE BEGIN TIM11_MspDeInit 1 */
444 
445   /* USER CODE END TIM11_MspDeInit 1 */
446   }
447 
448 }
449 
450 /**
451 * @brief UART MSP Initialization
452 * This function configures the hardware resources used in this example
453 * @param huart: UART handle pointer
454 * @retval None
455 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)456 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
457 {
458   GPIO_InitTypeDef GPIO_InitStruct = {0};
459   if(huart->Instance==USART1)
460   {
461   /* USER CODE BEGIN USART1_MspInit 0 */
462 
463   /* USER CODE END USART1_MspInit 0 */
464     /* Peripheral clock enable */
465     __HAL_RCC_USART1_CLK_ENABLE();
466 
467     __HAL_RCC_GPIOA_CLK_ENABLE();
468     /**USART1 GPIO Configuration
469     PA9     ------> USART1_TX
470     PA10     ------> USART1_RX
471     */
472     GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;
473     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
474     GPIO_InitStruct.Pull = GPIO_PULLUP;
475     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
476     GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
477     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
478 
479   /* USER CODE BEGIN USART1_MspInit 1 */
480 
481   /* USER CODE END USART1_MspInit 1 */
482   }
483   else if(huart->Instance==USART2)
484   {
485   /* USER CODE BEGIN USART2_MspInit 0 */
486 
487   /* USER CODE END USART2_MspInit 0 */
488     /* Peripheral clock enable */
489     __HAL_RCC_USART2_CLK_ENABLE();
490 
491     __HAL_RCC_GPIOA_CLK_ENABLE();
492     /**USART2 GPIO Configuration
493     PA2     ------> USART2_TX
494     PA3     ------> USART2_RX
495     */
496     GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
497     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
498     GPIO_InitStruct.Pull = GPIO_NOPULL;
499     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
500     GPIO_InitStruct.Alternate = GPIO_AF7_USART2;
501     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
502 
503   /* USER CODE BEGIN USART2_MspInit 1 */
504 
505   /* USER CODE END USART2_MspInit 1 */
506   }
507 
508 }
509 
510 /**
511 * @brief UART MSP De-Initialization
512 * This function freeze the hardware resources used in this example
513 * @param huart: UART handle pointer
514 * @retval None
515 */
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)516 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
517 {
518   if(huart->Instance==USART1)
519   {
520   /* USER CODE BEGIN USART1_MspDeInit 0 */
521 
522   /* USER CODE END USART1_MspDeInit 0 */
523     /* Peripheral clock disable */
524     __HAL_RCC_USART1_CLK_DISABLE();
525 
526     /**USART1 GPIO Configuration
527     PA9     ------> USART1_TX
528     PA10     ------> USART1_RX
529     */
530     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
531 
532   /* USER CODE BEGIN USART1_MspDeInit 1 */
533 
534   /* USER CODE END USART1_MspDeInit 1 */
535   }
536   else if(huart->Instance==USART2)
537   {
538   /* USER CODE BEGIN USART2_MspDeInit 0 */
539 
540   /* USER CODE END USART2_MspDeInit 0 */
541     /* Peripheral clock disable */
542     __HAL_RCC_USART2_CLK_DISABLE();
543 
544     /**USART2 GPIO Configuration
545     PA2     ------> USART2_TX
546     PA3     ------> USART2_RX
547     */
548     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
549 
550   /* USER CODE BEGIN USART2_MspDeInit 1 */
551 
552   /* USER CODE END USART2_MspDeInit 1 */
553   }
554 
555 }
556 
557 /**
558 * @brief PCD MSP Initialization
559 * This function configures the hardware resources used in this example
560 * @param hpcd: PCD handle pointer
561 * @retval None
562 */
HAL_PCD_MspInit(PCD_HandleTypeDef * hpcd)563 void HAL_PCD_MspInit(PCD_HandleTypeDef* hpcd)
564 {
565   GPIO_InitTypeDef GPIO_InitStruct = {0};
566   if(hpcd->Instance==USB_OTG_FS)
567   {
568   /* USER CODE BEGIN USB_OTG_FS_MspInit 0 */
569 
570   /* USER CODE END USB_OTG_FS_MspInit 0 */
571 
572     __HAL_RCC_GPIOA_CLK_ENABLE();
573     /**USB_OTG_FS GPIO Configuration
574     PA11     ------> USB_OTG_FS_DM
575     PA12     ------> USB_OTG_FS_DP
576     */
577     GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12;
578     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
579     GPIO_InitStruct.Pull = GPIO_NOPULL;
580     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
581     GPIO_InitStruct.Alternate = GPIO_AF10_OTG_FS;
582     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
583 
584     /* Peripheral clock enable */
585     __HAL_RCC_USB_OTG_FS_CLK_ENABLE();
586   /* USER CODE BEGIN USB_OTG_FS_MspInit 1 */
587 
588   /* USER CODE END USB_OTG_FS_MspInit 1 */
589   }
590 
591 }
592 
593 /**
594 * @brief PCD MSP De-Initialization
595 * This function freeze the hardware resources used in this example
596 * @param hpcd: PCD handle pointer
597 * @retval None
598 */
HAL_PCD_MspDeInit(PCD_HandleTypeDef * hpcd)599 void HAL_PCD_MspDeInit(PCD_HandleTypeDef* hpcd)
600 {
601   if(hpcd->Instance==USB_OTG_FS)
602   {
603   /* USER CODE BEGIN USB_OTG_FS_MspDeInit 0 */
604 
605   /* USER CODE END USB_OTG_FS_MspDeInit 0 */
606     /* Peripheral clock disable */
607     __HAL_RCC_USB_OTG_FS_CLK_DISABLE();
608 
609     /**USB_OTG_FS GPIO Configuration
610     PA11     ------> USB_OTG_FS_DM
611     PA12     ------> USB_OTG_FS_DP
612     */
613     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_11|GPIO_PIN_12);
614 
615   /* USER CODE BEGIN USB_OTG_FS_MspDeInit 1 */
616 
617   /* USER CODE END USB_OTG_FS_MspDeInit 1 */
618   }
619 
620 }
621 
622 /* USER CODE BEGIN 1 */
623 
624 /* USER CODE END 1 */
625