1 /* USER CODE BEGIN Header */
2 /**
3 ******************************************************************************
4 * File Name : stm32g0xx_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>© 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_ADC_CLK_ENABLE();
98
99 __HAL_RCC_GPIOA_CLK_ENABLE();
100 /**ADC1 GPIO Configuration
101 PA0 ------> ADC1_IN0
102 */
103 GPIO_InitStruct.Pin = GPIO_PIN_0;
104 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
105 GPIO_InitStruct.Pull = GPIO_NOPULL;
106 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
107
108 /* USER CODE BEGIN ADC1_MspInit 1 */
109
110 /* USER CODE END ADC1_MspInit 1 */
111 }
112
113 }
114
115 /**
116 * @brief ADC MSP De-Initialization
117 * This function freeze the hardware resources used in this example
118 * @param hadc: ADC handle pointer
119 * @retval None
120 */
HAL_ADC_MspDeInit(ADC_HandleTypeDef * hadc)121 void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
122 {
123 if(hadc->Instance==ADC1)
124 {
125 /* USER CODE BEGIN ADC1_MspDeInit 0 */
126
127 /* USER CODE END ADC1_MspDeInit 0 */
128 /* Peripheral clock disable */
129 __HAL_RCC_ADC_CLK_DISABLE();
130
131 /**ADC1 GPIO Configuration
132 PA0 ------> ADC1_IN0
133 */
134 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0);
135
136 /* USER CODE BEGIN ADC1_MspDeInit 1 */
137
138 /* USER CODE END ADC1_MspDeInit 1 */
139 }
140
141 }
142
143 /**
144 * @brief RTC MSP Initialization
145 * This function configures the hardware resources used in this example
146 * @param hrtc: RTC handle pointer
147 * @retval None
148 */
HAL_RTC_MspInit(RTC_HandleTypeDef * hrtc)149 void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
150 {
151 if(hrtc->Instance==RTC)
152 {
153 /* USER CODE BEGIN RTC_MspInit 0 */
154
155 /* USER CODE END RTC_MspInit 0 */
156 /* Peripheral clock enable */
157 __HAL_RCC_RTC_ENABLE();
158 __HAL_RCC_RTCAPB_CLK_ENABLE();
159 /* USER CODE BEGIN RTC_MspInit 1 */
160
161 /* USER CODE END RTC_MspInit 1 */
162 }
163
164 }
165
166 /**
167 * @brief RTC MSP De-Initialization
168 * This function freeze the hardware resources used in this example
169 * @param hrtc: RTC handle pointer
170 * @retval None
171 */
HAL_RTC_MspDeInit(RTC_HandleTypeDef * hrtc)172 void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
173 {
174 if(hrtc->Instance==RTC)
175 {
176 /* USER CODE BEGIN RTC_MspDeInit 0 */
177
178 /* USER CODE END RTC_MspDeInit 0 */
179 /* Peripheral clock disable */
180 __HAL_RCC_RTC_DISABLE();
181 __HAL_RCC_RTCAPB_CLK_DISABLE();
182 /* USER CODE BEGIN RTC_MspDeInit 1 */
183
184 /* USER CODE END RTC_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==SPI1)
199 {
200 /* USER CODE BEGIN SPI1_MspInit 0 */
201
202 /* USER CODE END SPI1_MspInit 0 */
203 /* Peripheral clock enable */
204 __HAL_RCC_SPI1_CLK_ENABLE();
205
206 __HAL_RCC_GPIOA_CLK_ENABLE();
207 /**SPI1 GPIO Configuration
208 PA1 ------> SPI1_SCK
209 PA11 [PA9] ------> SPI1_MISO
210 PA12 [PA10] ------> SPI1_MOSI
211 */
212 GPIO_InitStruct.Pin = GPIO_PIN_1|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_LOW;
216 GPIO_InitStruct.Alternate = GPIO_AF0_SPI1;
217 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
218
219 /* USER CODE BEGIN SPI1_MspInit 1 */
220
221 /* USER CODE END SPI1_MspInit 1 */
222 }
223 else if(hspi->Instance==SPI2)
224 {
225 /* USER CODE BEGIN SPI2_MspInit 0 */
226
227 /* USER CODE END SPI2_MspInit 0 */
228 /* Peripheral clock enable */
229 __HAL_RCC_SPI2_CLK_ENABLE();
230
231 __HAL_RCC_GPIOC_CLK_ENABLE();
232 __HAL_RCC_GPIOB_CLK_ENABLE();
233 /**SPI2 GPIO Configuration
234 PC2 ------> SPI2_MISO
235 PC3 ------> SPI2_MOSI
236 PB10 ------> SPI2_SCK
237 */
238 GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
239 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
240 GPIO_InitStruct.Pull = GPIO_NOPULL;
241 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
242 GPIO_InitStruct.Alternate = GPIO_AF1_SPI2;
243 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
244
245 GPIO_InitStruct.Pin = GPIO_PIN_10;
246 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
247 GPIO_InitStruct.Pull = GPIO_NOPULL;
248 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
249 GPIO_InitStruct.Alternate = GPIO_AF5_SPI2;
250 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
251
252 /* USER CODE BEGIN SPI2_MspInit 1 */
253
254 /* USER CODE END SPI2_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 PA1 ------> SPI1_SCK
277 PA11 [PA9] ------> SPI1_MISO
278 PA12 [PA10] ------> SPI1_MOSI
279 */
280 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_11|GPIO_PIN_12);
281
282 /* USER CODE BEGIN SPI1_MspDeInit 1 */
283
284 /* USER CODE END SPI1_MspDeInit 1 */
285 }
286 else if(hspi->Instance==SPI2)
287 {
288 /* USER CODE BEGIN SPI2_MspDeInit 0 */
289
290 /* USER CODE END SPI2_MspDeInit 0 */
291 /* Peripheral clock disable */
292 __HAL_RCC_SPI2_CLK_DISABLE();
293
294 /**SPI2 GPIO Configuration
295 PC2 ------> SPI2_MISO
296 PC3 ------> SPI2_MOSI
297 PB10 ------> SPI2_SCK
298 */
299 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_2|GPIO_PIN_3);
300
301 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10);
302
303 /* USER CODE BEGIN SPI2_MspDeInit 1 */
304
305 /* USER CODE END SPI2_MspDeInit 1 */
306 }
307
308 }
309
310 /**
311 * @brief TIM_Base MSP Initialization
312 * This function configures the hardware resources used in this example
313 * @param htim_base: TIM_Base handle pointer
314 * @retval None
315 */
HAL_TIM_Base_MspInit(TIM_HandleTypeDef * htim_base)316 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
317 {
318 if(htim_base->Instance==TIM1)
319 {
320 /* USER CODE BEGIN TIM1_MspInit 0 */
321
322 /* USER CODE END TIM1_MspInit 0 */
323 /* Peripheral clock enable */
324 __HAL_RCC_TIM1_CLK_ENABLE();
325 /* USER CODE BEGIN TIM1_MspInit 1 */
326
327 /* USER CODE END TIM1_MspInit 1 */
328 }
329 else if(htim_base->Instance==TIM3)
330 {
331 /* USER CODE BEGIN TIM3_MspInit 0 */
332
333 /* USER CODE END TIM3_MspInit 0 */
334 /* Peripheral clock enable */
335 __HAL_RCC_TIM3_CLK_ENABLE();
336 /* USER CODE BEGIN TIM3_MspInit 1 */
337
338 /* USER CODE END TIM3_MspInit 1 */
339 }
340
341 }
342
HAL_TIM_MspPostInit(TIM_HandleTypeDef * htim)343 void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
344 {
345 GPIO_InitTypeDef GPIO_InitStruct = {0};
346 if(htim->Instance==TIM3)
347 {
348 /* USER CODE BEGIN TIM3_MspPostInit 0 */
349
350 /* USER CODE END TIM3_MspPostInit 0 */
351
352 __HAL_RCC_GPIOA_CLK_ENABLE();
353 __HAL_RCC_GPIOB_CLK_ENABLE();
354 /**TIM3 GPIO Configuration
355 PA6 ------> TIM3_CH1
356 PA7 ------> TIM3_CH2
357 PB0 ------> TIM3_CH3
358 PB1 ------> TIM3_CH4
359 */
360 GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
361 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
362 GPIO_InitStruct.Pull = GPIO_NOPULL;
363 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
364 GPIO_InitStruct.Alternate = GPIO_AF1_TIM3;
365 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
366
367 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
368 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
369 GPIO_InitStruct.Pull = GPIO_NOPULL;
370 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
371 GPIO_InitStruct.Alternate = GPIO_AF1_TIM3;
372 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
373
374 /* USER CODE BEGIN TIM3_MspPostInit 1 */
375
376 /* USER CODE END TIM3_MspPostInit 1 */
377 }
378
379 }
380 /**
381 * @brief TIM_Base MSP De-Initialization
382 * This function freeze the hardware resources used in this example
383 * @param htim_base: TIM_Base handle pointer
384 * @retval None
385 */
HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef * htim_base)386 void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
387 {
388 if(htim_base->Instance==TIM1)
389 {
390 /* USER CODE BEGIN TIM1_MspDeInit 0 */
391
392 /* USER CODE END TIM1_MspDeInit 0 */
393 /* Peripheral clock disable */
394 __HAL_RCC_TIM1_CLK_DISABLE();
395 /* USER CODE BEGIN TIM1_MspDeInit 1 */
396
397 /* USER CODE END TIM1_MspDeInit 1 */
398 }
399 else if(htim_base->Instance==TIM3)
400 {
401 /* USER CODE BEGIN TIM3_MspDeInit 0 */
402
403 /* USER CODE END TIM3_MspDeInit 0 */
404 /* Peripheral clock disable */
405 __HAL_RCC_TIM3_CLK_DISABLE();
406 /* USER CODE BEGIN TIM3_MspDeInit 1 */
407
408 /* USER CODE END TIM3_MspDeInit 1 */
409 }
410
411 }
412
413 /**
414 * @brief UART MSP Initialization
415 * This function configures the hardware resources used in this example
416 * @param huart: UART handle pointer
417 * @retval None
418 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)419 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
420 {
421 GPIO_InitTypeDef GPIO_InitStruct = {0};
422 if(huart->Instance==USART1)
423 {
424 /* USER CODE BEGIN USART1_MspInit 0 */
425
426 /* USER CODE END USART1_MspInit 0 */
427 /* Peripheral clock enable */
428 __HAL_RCC_USART1_CLK_ENABLE();
429
430 __HAL_RCC_GPIOC_CLK_ENABLE();
431 /**USART1 GPIO Configuration
432 PC4 ------> USART1_TX
433 PC5 ------> USART1_RX
434 */
435 GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5;
436 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
437 GPIO_InitStruct.Pull = GPIO_PULLUP;
438 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
439 GPIO_InitStruct.Alternate = GPIO_AF1_USART1;
440 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
441
442 /* USER CODE BEGIN USART1_MspInit 1 */
443
444 /* USER CODE END USART1_MspInit 1 */
445 }
446 else if(huart->Instance==USART2)
447 {
448 /* USER CODE BEGIN USART2_MspInit 0 */
449
450 /* USER CODE END USART2_MspInit 0 */
451 /* Peripheral clock enable */
452 __HAL_RCC_USART2_CLK_ENABLE();
453
454 __HAL_RCC_GPIOA_CLK_ENABLE();
455 /**USART2 GPIO Configuration
456 PA2 ------> USART2_TX
457 PA3 ------> USART2_RX
458 */
459 GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
460 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
461 GPIO_InitStruct.Pull = GPIO_PULLUP;
462 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
463 GPIO_InitStruct.Alternate = GPIO_AF1_USART2;
464 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
465
466 /* USER CODE BEGIN USART2_MspInit 1 */
467
468 /* USER CODE END USART2_MspInit 1 */
469 }
470 else if(huart->Instance==USART3)
471 {
472 /* USER CODE BEGIN USART3_MspInit 0 */
473
474 /* USER CODE END USART3_MspInit 0 */
475 /* Peripheral clock enable */
476 __HAL_RCC_USART3_CLK_ENABLE();
477
478 __HAL_RCC_GPIOC_CLK_ENABLE();
479 __HAL_RCC_GPIOB_CLK_ENABLE();
480 /**USART3 GPIO Configuration
481 PC11 ------> USART3_RX
482 PB2 ------> USART3_TX
483 */
484 GPIO_InitStruct.Pin = GPIO_PIN_11;
485 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
486 GPIO_InitStruct.Pull = GPIO_PULLUP;
487 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
488 GPIO_InitStruct.Alternate = GPIO_AF0_USART3;
489 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
490
491 GPIO_InitStruct.Pin = GPIO_PIN_2;
492 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
493 GPIO_InitStruct.Pull = GPIO_PULLUP;
494 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
495 GPIO_InitStruct.Alternate = GPIO_AF4_USART3;
496 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
497
498 /* USER CODE BEGIN USART3_MspInit 1 */
499
500 /* USER CODE END USART3_MspInit 1 */
501 }
502
503 }
504
505 /**
506 * @brief UART MSP De-Initialization
507 * This function freeze the hardware resources used in this example
508 * @param huart: UART handle pointer
509 * @retval None
510 */
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)511 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
512 {
513 if(huart->Instance==USART1)
514 {
515 /* USER CODE BEGIN USART1_MspDeInit 0 */
516
517 /* USER CODE END USART1_MspDeInit 0 */
518 /* Peripheral clock disable */
519 __HAL_RCC_USART1_CLK_DISABLE();
520
521 /**USART1 GPIO Configuration
522 PC4 ------> USART1_TX
523 PC5 ------> USART1_RX
524 */
525 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_4|GPIO_PIN_5);
526
527 /* USER CODE BEGIN USART1_MspDeInit 1 */
528
529 /* USER CODE END USART1_MspDeInit 1 */
530 }
531 else if(huart->Instance==USART2)
532 {
533 /* USER CODE BEGIN USART2_MspDeInit 0 */
534
535 /* USER CODE END USART2_MspDeInit 0 */
536 /* Peripheral clock disable */
537 __HAL_RCC_USART2_CLK_DISABLE();
538
539 /**USART2 GPIO Configuration
540 PA2 ------> USART2_TX
541 PA3 ------> USART2_RX
542 */
543 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
544
545 /* USER CODE BEGIN USART2_MspDeInit 1 */
546
547 /* USER CODE END USART2_MspDeInit 1 */
548 }
549 else if(huart->Instance==USART3)
550 {
551 /* USER CODE BEGIN USART3_MspDeInit 0 */
552
553 /* USER CODE END USART3_MspDeInit 0 */
554 /* Peripheral clock disable */
555 __HAL_RCC_USART3_CLK_DISABLE();
556
557 /**USART3 GPIO Configuration
558 PC11 ------> USART3_RX
559 PB2 ------> USART3_TX
560 */
561 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_11);
562
563 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_2);
564
565 /* USER CODE BEGIN USART3_MspDeInit 1 */
566
567 /* USER CODE END USART3_MspDeInit 1 */
568 }
569
570 }
571
572 /**
573 * @brief WWDG MSP Initialization
574 * This function configures the hardware resources used in this example
575 * @param hwwdg: WWDG handle pointer
576 * @retval None
577 */
HAL_WWDG_MspInit(WWDG_HandleTypeDef * hwwdg)578 void HAL_WWDG_MspInit(WWDG_HandleTypeDef* hwwdg)
579 {
580 if(hwwdg->Instance==WWDG)
581 {
582 /* USER CODE BEGIN WWDG_MspInit 0 */
583
584 /* USER CODE END WWDG_MspInit 0 */
585 /* Peripheral clock enable */
586 __HAL_RCC_WWDG_CLK_ENABLE();
587 /* USER CODE BEGIN WWDG_MspInit 1 */
588
589 /* USER CODE END WWDG_MspInit 1 */
590 }
591
592 }
593
594 /* USER CODE BEGIN 1 */
595
596 /* USER CODE END 1 */
597
598 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
599