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   ** 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   GPIO_InitTypeDef GPIO_InitStruct = {0};
111   if(hadc->Instance==ADC1)
112   {
113   /* USER CODE BEGIN ADC1_MspInit 0 */
114 
115   /* USER CODE END ADC1_MspInit 0 */
116     /* Peripheral clock enable */
117     __HAL_RCC_ADC1_CLK_ENABLE();
118 
119     __HAL_RCC_GPIOC_CLK_ENABLE();
120     __HAL_RCC_GPIOA_CLK_ENABLE();
121     __HAL_RCC_GPIOB_CLK_ENABLE();
122     /**ADC1 GPIO Configuration
123     PC0     ------> ADC1_IN10
124     PC1     ------> ADC1_IN11
125     PA0-WKUP     ------> ADC1_IN0
126     PA1     ------> ADC1_IN1
127     PA4     ------> ADC1_IN4
128     PB0     ------> ADC1_IN8
129     */
130     GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
131     GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
132     GPIO_InitStruct.Pull = GPIO_NOPULL;
133     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
134 
135     GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4;
136     GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
137     GPIO_InitStruct.Pull = GPIO_NOPULL;
138     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
139 
140     GPIO_InitStruct.Pin = GPIO_PIN_0;
141     GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
142     GPIO_InitStruct.Pull = GPIO_NOPULL;
143     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
144 
145   /* USER CODE BEGIN ADC1_MspInit 1 */
146 
147   /* USER CODE END ADC1_MspInit 1 */
148   }
149 
150 }
151 
152 /**
153 * @brief ADC MSP De-Initialization
154 * This function freeze the hardware resources used in this example
155 * @param hadc: ADC handle pointer
156 * @retval None
157 */
HAL_ADC_MspDeInit(ADC_HandleTypeDef * hadc)158 void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
159 {
160   if(hadc->Instance==ADC1)
161   {
162   /* USER CODE BEGIN ADC1_MspDeInit 0 */
163 
164   /* USER CODE END ADC1_MspDeInit 0 */
165     /* Peripheral clock disable */
166     __HAL_RCC_ADC1_CLK_DISABLE();
167 
168     /**ADC1 GPIO Configuration
169     PC0     ------> ADC1_IN10
170     PC1     ------> ADC1_IN11
171     PA0-WKUP     ------> ADC1_IN0
172     PA1     ------> ADC1_IN1
173     PA4     ------> ADC1_IN4
174     PB0     ------> ADC1_IN8
175     */
176     HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0|GPIO_PIN_1);
177 
178     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4);
179 
180     HAL_GPIO_DeInit(GPIOB, GPIO_PIN_0);
181 
182   /* USER CODE BEGIN ADC1_MspDeInit 1 */
183 
184   /* USER CODE END ADC1_MspDeInit 1 */
185   }
186 
187 }
188 
189 /**
190 * @brief SPI MSP Initialization
191 * This function configures the hardware resources used in this example
192 * @param hspi: SPI handle pointer
193 * @retval None
194 */
HAL_SPI_MspInit(SPI_HandleTypeDef * hspi)195 void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
196 {
197   GPIO_InitTypeDef GPIO_InitStruct = {0};
198   if(hspi->Instance==SPI3)
199   {
200   /* USER CODE BEGIN SPI3_MspInit 0 */
201 
202   /* USER CODE END SPI3_MspInit 0 */
203     /* Peripheral clock enable */
204     __HAL_RCC_SPI3_CLK_ENABLE();
205 
206     __HAL_RCC_GPIOC_CLK_ENABLE();
207     /**SPI3 GPIO Configuration
208     PC10     ------> SPI3_SCK
209     PC11     ------> SPI3_MISO
210     PC12     ------> SPI3_MOSI
211     */
212     GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12;
213     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
214     GPIO_InitStruct.Pull = GPIO_NOPULL;
215     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
216     GPIO_InitStruct.Alternate = GPIO_AF6_SPI3;
217     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
218 
219   /* USER CODE BEGIN SPI3_MspInit 1 */
220 
221   /* USER CODE END SPI3_MspInit 1 */
222   }
223 
224 }
225 
226 /**
227 * @brief SPI MSP De-Initialization
228 * This function freeze the hardware resources used in this example
229 * @param hspi: SPI handle pointer
230 * @retval None
231 */
HAL_SPI_MspDeInit(SPI_HandleTypeDef * hspi)232 void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
233 {
234   if(hspi->Instance==SPI3)
235   {
236   /* USER CODE BEGIN SPI3_MspDeInit 0 */
237 
238   /* USER CODE END SPI3_MspDeInit 0 */
239     /* Peripheral clock disable */
240     __HAL_RCC_SPI3_CLK_DISABLE();
241 
242     /**SPI3 GPIO Configuration
243     PC10     ------> SPI3_SCK
244     PC11     ------> SPI3_MISO
245     PC12     ------> SPI3_MOSI
246     */
247     HAL_GPIO_DeInit(GPIOC, GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12);
248 
249   /* USER CODE BEGIN SPI3_MspDeInit 1 */
250 
251   /* USER CODE END SPI3_MspDeInit 1 */
252   }
253 
254 }
255 
256 /**
257 * @brief TIM_Base MSP Initialization
258 * This function configures the hardware resources used in this example
259 * @param htim_base: TIM_Base handle pointer
260 * @retval None
261 */
HAL_TIM_Base_MspInit(TIM_HandleTypeDef * htim_base)262 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
263 {
264   if(htim_base->Instance==TIM1)
265   {
266   /* USER CODE BEGIN TIM1_MspInit 0 */
267 
268   /* USER CODE END TIM1_MspInit 0 */
269     /* Peripheral clock enable */
270     __HAL_RCC_TIM1_CLK_ENABLE();
271   /* USER CODE BEGIN TIM1_MspInit 1 */
272 
273   /* USER CODE END TIM1_MspInit 1 */
274   }
275   else if(htim_base->Instance==TIM2)
276   {
277   /* USER CODE BEGIN TIM2_MspInit 0 */
278 
279   /* USER CODE END TIM2_MspInit 0 */
280     /* Peripheral clock enable */
281     __HAL_RCC_TIM2_CLK_ENABLE();
282   /* USER CODE BEGIN TIM2_MspInit 1 */
283 
284   /* USER CODE END TIM2_MspInit 1 */
285   }
286   else if(htim_base->Instance==TIM3)
287   {
288   /* USER CODE BEGIN TIM3_MspInit 0 */
289 
290   /* USER CODE END TIM3_MspInit 0 */
291     /* Peripheral clock enable */
292     __HAL_RCC_TIM3_CLK_ENABLE();
293   /* USER CODE BEGIN TIM3_MspInit 1 */
294 
295   /* USER CODE END TIM3_MspInit 1 */
296   }
297   else if(htim_base->Instance==TIM4)
298   {
299   /* USER CODE BEGIN TIM4_MspInit 0 */
300 
301   /* USER CODE END TIM4_MspInit 0 */
302     /* Peripheral clock enable */
303     __HAL_RCC_TIM4_CLK_ENABLE();
304   /* USER CODE BEGIN TIM4_MspInit 1 */
305 
306   /* USER CODE END TIM4_MspInit 1 */
307   }
308   else if(htim_base->Instance==TIM9)
309   {
310   /* USER CODE BEGIN TIM9_MspInit 0 */
311 
312   /* USER CODE END TIM9_MspInit 0 */
313     /* Peripheral clock enable */
314     __HAL_RCC_TIM9_CLK_ENABLE();
315   /* USER CODE BEGIN TIM9_MspInit 1 */
316 
317   /* USER CODE END TIM9_MspInit 1 */
318   }
319   else if(htim_base->Instance==TIM11)
320   {
321   /* USER CODE BEGIN TIM11_MspInit 0 */
322 
323   /* USER CODE END TIM11_MspInit 0 */
324     /* Peripheral clock enable */
325     __HAL_RCC_TIM11_CLK_ENABLE();
326   /* USER CODE BEGIN TIM11_MspInit 1 */
327 
328   /* USER CODE END TIM11_MspInit 1 */
329   }
330 
331 }
332 
HAL_TIM_MspPostInit(TIM_HandleTypeDef * htim)333 void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
334 {
335   GPIO_InitTypeDef GPIO_InitStruct = {0};
336   if(htim->Instance==TIM1)
337   {
338   /* USER CODE BEGIN TIM1_MspPostInit 0 */
339 
340   /* USER CODE END TIM1_MspPostInit 0 */
341     __HAL_RCC_GPIOA_CLK_ENABLE();
342     /**TIM1 GPIO Configuration
343     PA7     ------> TIM1_CH1N
344     PA8     ------> TIM1_CH1
345     PA11     ------> TIM1_CH4
346     */
347     GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_11;
348     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
349     GPIO_InitStruct.Pull = GPIO_NOPULL;
350     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
351     GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;
352     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
353 
354   /* USER CODE BEGIN TIM1_MspPostInit 1 */
355 
356   /* USER CODE END TIM1_MspPostInit 1 */
357   }
358   else if(htim->Instance==TIM2)
359   {
360   /* USER CODE BEGIN TIM2_MspPostInit 0 */
361 
362   /* USER CODE END TIM2_MspPostInit 0 */
363 
364     __HAL_RCC_GPIOB_CLK_ENABLE();
365     /**TIM2 GPIO Configuration
366     PB10     ------> TIM2_CH3
367     PB3     ------> TIM2_CH2
368     */
369     GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_3;
370     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
371     GPIO_InitStruct.Pull = GPIO_NOPULL;
372     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
373     GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;
374     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
375 
376   /* USER CODE BEGIN TIM2_MspPostInit 1 */
377 
378   /* USER CODE END TIM2_MspPostInit 1 */
379   }
380   else if(htim->Instance==TIM3)
381   {
382   /* USER CODE BEGIN TIM3_MspPostInit 0 */
383 
384   /* USER CODE END TIM3_MspPostInit 0 */
385 
386     __HAL_RCC_GPIOC_CLK_ENABLE();
387     __HAL_RCC_GPIOB_CLK_ENABLE();
388     /**TIM3 GPIO Configuration
389     PC7     ------> TIM3_CH2
390     PB4     ------> TIM3_CH1
391     */
392     GPIO_InitStruct.Pin = GPIO_PIN_7;
393     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
394     GPIO_InitStruct.Pull = GPIO_NOPULL;
395     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
396     GPIO_InitStruct.Alternate = GPIO_AF2_TIM3;
397     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
398 
399     GPIO_InitStruct.Pin = GPIO_PIN_4;
400     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
401     GPIO_InitStruct.Pull = GPIO_NOPULL;
402     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
403     GPIO_InitStruct.Alternate = GPIO_AF2_TIM3;
404     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
405 
406   /* USER CODE BEGIN TIM3_MspPostInit 1 */
407 
408   /* USER CODE END TIM3_MspPostInit 1 */
409   }
410   else if(htim->Instance==TIM4)
411   {
412   /* USER CODE BEGIN TIM4_MspPostInit 0 */
413 
414   /* USER CODE END TIM4_MspPostInit 0 */
415 
416     __HAL_RCC_GPIOB_CLK_ENABLE();
417     /**TIM4 GPIO Configuration
418     PB6     ------> TIM4_CH1
419     */
420     GPIO_InitStruct.Pin = GPIO_PIN_6;
421     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
422     GPIO_InitStruct.Pull = GPIO_NOPULL;
423     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
424     GPIO_InitStruct.Alternate = GPIO_AF2_TIM4;
425     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
426 
427   /* USER CODE BEGIN TIM4_MspPostInit 1 */
428 
429   /* USER CODE END TIM4_MspPostInit 1 */
430   }
431 
432 }
433 /**
434 * @brief TIM_Base MSP De-Initialization
435 * This function freeze the hardware resources used in this example
436 * @param htim_base: TIM_Base handle pointer
437 * @retval None
438 */
HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef * htim_base)439 void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
440 {
441   if(htim_base->Instance==TIM1)
442   {
443   /* USER CODE BEGIN TIM1_MspDeInit 0 */
444 
445   /* USER CODE END TIM1_MspDeInit 0 */
446     /* Peripheral clock disable */
447     __HAL_RCC_TIM1_CLK_DISABLE();
448   /* USER CODE BEGIN TIM1_MspDeInit 1 */
449 
450   /* USER CODE END TIM1_MspDeInit 1 */
451   }
452   else if(htim_base->Instance==TIM2)
453   {
454   /* USER CODE BEGIN TIM2_MspDeInit 0 */
455 
456   /* USER CODE END TIM2_MspDeInit 0 */
457     /* Peripheral clock disable */
458     __HAL_RCC_TIM2_CLK_DISABLE();
459   /* USER CODE BEGIN TIM2_MspDeInit 1 */
460 
461   /* USER CODE END TIM2_MspDeInit 1 */
462   }
463   else if(htim_base->Instance==TIM3)
464   {
465   /* USER CODE BEGIN TIM3_MspDeInit 0 */
466 
467   /* USER CODE END TIM3_MspDeInit 0 */
468     /* Peripheral clock disable */
469     __HAL_RCC_TIM3_CLK_DISABLE();
470   /* USER CODE BEGIN TIM3_MspDeInit 1 */
471 
472   /* USER CODE END TIM3_MspDeInit 1 */
473   }
474   else if(htim_base->Instance==TIM4)
475   {
476   /* USER CODE BEGIN TIM4_MspDeInit 0 */
477 
478   /* USER CODE END TIM4_MspDeInit 0 */
479     /* Peripheral clock disable */
480     __HAL_RCC_TIM4_CLK_DISABLE();
481   /* USER CODE BEGIN TIM4_MspDeInit 1 */
482 
483   /* USER CODE END TIM4_MspDeInit 1 */
484   }
485   else if(htim_base->Instance==TIM9)
486   {
487   /* USER CODE BEGIN TIM9_MspDeInit 0 */
488 
489   /* USER CODE END TIM9_MspDeInit 0 */
490     /* Peripheral clock disable */
491     __HAL_RCC_TIM9_CLK_DISABLE();
492   /* USER CODE BEGIN TIM9_MspDeInit 1 */
493 
494   /* USER CODE END TIM9_MspDeInit 1 */
495   }
496   else if(htim_base->Instance==TIM11)
497   {
498   /* USER CODE BEGIN TIM11_MspDeInit 0 */
499 
500   /* USER CODE END TIM11_MspDeInit 0 */
501     /* Peripheral clock disable */
502     __HAL_RCC_TIM11_CLK_DISABLE();
503   /* USER CODE BEGIN TIM11_MspDeInit 1 */
504 
505   /* USER CODE END TIM11_MspDeInit 1 */
506   }
507 
508 }
509 
510 /**
511 * @brief UART MSP Initialization
512 * This function configures the hardware resources used in this example
513 * @param huart: UART handle pointer
514 * @retval None
515 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)516 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
517 {
518   GPIO_InitTypeDef GPIO_InitStruct = {0};
519   if(huart->Instance==USART2)
520   {
521   /* USER CODE BEGIN USART2_MspInit 0 */
522 
523   /* USER CODE END USART2_MspInit 0 */
524     /* Peripheral clock enable */
525     __HAL_RCC_USART2_CLK_ENABLE();
526 
527     __HAL_RCC_GPIOA_CLK_ENABLE();
528     /**USART2 GPIO Configuration
529     PA2     ------> USART2_TX
530     PA3     ------> USART2_RX
531     */
532     GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
533     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
534     GPIO_InitStruct.Pull = GPIO_PULLUP;
535     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
536     GPIO_InitStruct.Alternate = GPIO_AF7_USART2;
537     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
538 
539   /* USER CODE BEGIN USART2_MspInit 1 */
540 
541   /* USER CODE END USART2_MspInit 1 */
542   }
543 
544 }
545 
546 /**
547 * @brief UART MSP De-Initialization
548 * This function freeze the hardware resources used in this example
549 * @param huart: UART handle pointer
550 * @retval None
551 */
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)552 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
553 {
554   if(huart->Instance==USART2)
555   {
556   /* USER CODE BEGIN USART2_MspDeInit 0 */
557 
558   /* USER CODE END USART2_MspDeInit 0 */
559     /* Peripheral clock disable */
560     __HAL_RCC_USART2_CLK_DISABLE();
561 
562     /**USART2 GPIO Configuration
563     PA2     ------> USART2_TX
564     PA3     ------> USART2_RX
565     */
566     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
567 
568   /* USER CODE BEGIN USART2_MspDeInit 1 */
569 
570   /* USER CODE END USART2_MspDeInit 1 */
571   }
572 
573 }
574 
575 /* USER CODE BEGIN 1 */
576 
577 /* USER CODE END 1 */
578