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 ** 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) 2019 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_GPIOA_CLK_ENABLE();
121 /**ADC1 GPIO Configuration
122 PA0 ------> ADC1_IN0
123 PA1 ------> ADC1_IN1
124 */
125 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
126 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
127 GPIO_InitStruct.Pull = GPIO_NOPULL;
128 HAL_GPIO_Init(GPIOA, &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 PA0 ------> ADC1_IN0
157 PA1 ------> ADC1_IN1
158 */
159 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0|GPIO_PIN_1);
160
161 /* USER CODE BEGIN ADC1_MspDeInit 1 */
162
163 /* USER CODE END ADC1_MspDeInit 1 */
164 }
165
166 }
167
168 /**
169 * @brief DAC MSP Initialization
170 * This function configures the hardware resources used in this example
171 * @param hdac: DAC handle pointer
172 * @retval None
173 */
HAL_DAC_MspInit(DAC_HandleTypeDef * hdac)174 void HAL_DAC_MspInit(DAC_HandleTypeDef* hdac)
175 {
176
177 GPIO_InitTypeDef GPIO_InitStruct = {0};
178 if(hdac->Instance==DAC1)
179 {
180 /* USER CODE BEGIN DAC1_MspInit 0 */
181
182 /* USER CODE END DAC1_MspInit 0 */
183 /* Peripheral clock enable */
184 __HAL_RCC_DAC1_CLK_ENABLE();
185
186 __HAL_RCC_GPIOA_CLK_ENABLE();
187 /**DAC1 GPIO Configuration
188 PA4 ------> DAC1_OUT1
189 PA5 ------> DAC1_OUT2
190 */
191 GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5;
192 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
193 GPIO_InitStruct.Pull = GPIO_NOPULL;
194 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
195
196 /* USER CODE BEGIN DAC1_MspInit 1 */
197
198 /* USER CODE END DAC1_MspInit 1 */
199 }
200
201 }
202
203 /**
204 * @brief DAC MSP De-Initialization
205 * This function freeze the hardware resources used in this example
206 * @param hdac: DAC handle pointer
207 * @retval None
208 */
209
HAL_DAC_MspDeInit(DAC_HandleTypeDef * hdac)210 void HAL_DAC_MspDeInit(DAC_HandleTypeDef* hdac)
211 {
212
213 if(hdac->Instance==DAC1)
214 {
215 /* USER CODE BEGIN DAC1_MspDeInit 0 */
216
217 /* USER CODE END DAC1_MspDeInit 0 */
218 /* Peripheral clock disable */
219 __HAL_RCC_DAC1_CLK_DISABLE();
220
221 /**DAC1 GPIO Configuration
222 PA4 ------> DAC1_OUT1
223 PA5 ------> DAC1_OUT2
224 */
225 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_4|GPIO_PIN_5);
226
227 /* USER CODE BEGIN DAC1_MspDeInit 1 */
228
229 /* USER CODE END DAC1_MspDeInit 1 */
230 }
231
232 }
233
234 /**
235 * @brief UART MSP Initialization
236 * This function configures the hardware resources used in this example
237 * @param huart: UART handle pointer
238 * @retval None
239 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)240 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
241 {
242
243 GPIO_InitTypeDef GPIO_InitStruct = {0};
244 if(huart->Instance==LPUART1)
245 {
246 /* USER CODE BEGIN LPUART1_MspInit 0 */
247
248 /* USER CODE END LPUART1_MspInit 0 */
249 /* Peripheral clock enable */
250 __HAL_RCC_LPUART1_CLK_ENABLE();
251
252 __HAL_RCC_GPIOA_CLK_ENABLE();
253 /**LPUART1 GPIO Configuration
254 PA2 ------> LPUART1_TX
255 PA3 ------> LPUART1_RX
256 */
257 GPIO_InitStruct.Pin = LPUART1_TX_Pin|LPUART1_RX_Pin;
258 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
259 GPIO_InitStruct.Pull = GPIO_PULLUP;
260 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
261 GPIO_InitStruct.Alternate = GPIO_AF6_LPUART1;
262 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
263
264 /* LPUART1 interrupt Init */
265 HAL_NVIC_SetPriority(USART3_4_LPUART1_IRQn, 0, 0);
266 HAL_NVIC_EnableIRQ(USART3_4_LPUART1_IRQn);
267 /* USER CODE BEGIN LPUART1_MspInit 1 */
268
269 /* USER CODE END LPUART1_MspInit 1 */
270 }
271 else if(huart->Instance==USART1)
272 {
273 /* USER CODE BEGIN USART1_MspInit 0 */
274
275 /* USER CODE END USART1_MspInit 0 */
276 /* Peripheral clock enable */
277 __HAL_RCC_USART1_CLK_ENABLE();
278
279 __HAL_RCC_GPIOC_CLK_ENABLE();
280 /**USART1 GPIO Configuration
281 PC4 ------> USART1_TX
282 PC5 ------> USART1_RX
283 */
284 GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5;
285 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
286 GPIO_InitStruct.Pull = GPIO_PULLUP;
287 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
288 GPIO_InitStruct.Alternate = GPIO_AF1_USART1;
289 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
290
291 /* USER CODE BEGIN USART1_MspInit 1 */
292
293 /* USER CODE END USART1_MspInit 1 */
294 }
295 else if(huart->Instance==USART2)
296 {
297 /* USER CODE BEGIN USART2_MspInit 0 */
298
299 /* USER CODE END USART2_MspInit 0 */
300 /* Peripheral clock enable */
301 __HAL_RCC_USART2_CLK_ENABLE();
302
303 __HAL_RCC_GPIOA_CLK_ENABLE();
304 __HAL_RCC_GPIOD_CLK_ENABLE();
305 /**USART2 GPIO Configuration
306 PA15 ------> USART2_RX
307 PD5 ------> USART2_TX
308 */
309 GPIO_InitStruct.Pin = GPIO_PIN_15;
310 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
311 GPIO_InitStruct.Pull = GPIO_PULLUP;
312 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
313 GPIO_InitStruct.Alternate = GPIO_AF1_USART2;
314 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
315
316 GPIO_InitStruct.Pin = GPIO_PIN_5;
317 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
318 GPIO_InitStruct.Pull = GPIO_PULLUP;
319 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
320 GPIO_InitStruct.Alternate = GPIO_AF0_USART2;
321 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
322
323 /* USER CODE BEGIN USART2_MspInit 1 */
324
325 /* USER CODE END USART2_MspInit 1 */
326 }
327 else if(huart->Instance==USART3)
328 {
329 /* USER CODE BEGIN USART3_MspInit 0 */
330
331 /* USER CODE END USART3_MspInit 0 */
332 /* Peripheral clock enable */
333 __HAL_RCC_USART3_CLK_ENABLE();
334
335 __HAL_RCC_GPIOC_CLK_ENABLE();
336 __HAL_RCC_GPIOB_CLK_ENABLE();
337 /**USART3 GPIO Configuration
338 PC11 ------> USART3_RX
339 PB2 ------> USART3_TX
340 */
341 GPIO_InitStruct.Pin = GPIO_PIN_11;
342 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
343 GPIO_InitStruct.Pull = GPIO_PULLUP;
344 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
345 GPIO_InitStruct.Alternate = GPIO_AF0_USART3;
346 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
347
348 GPIO_InitStruct.Pin = GPIO_PIN_2;
349 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
350 GPIO_InitStruct.Pull = GPIO_PULLUP;
351 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
352 GPIO_InitStruct.Alternate = GPIO_AF4_USART3;
353 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
354
355 /* USART3 interrupt Init */
356 HAL_NVIC_SetPriority(USART3_4_LPUART1_IRQn, 0, 0);
357 HAL_NVIC_EnableIRQ(USART3_4_LPUART1_IRQn);
358 /* USER CODE BEGIN USART3_MspInit 1 */
359
360 /* USER CODE END USART3_MspInit 1 */
361 }
362
363 }
364
365 /**
366 * @brief UART MSP De-Initialization
367 * This function freeze the hardware resources used in this example
368 * @param huart: UART handle pointer
369 * @retval None
370 */
371
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)372 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
373 {
374
375 if(huart->Instance==LPUART1)
376 {
377 /* USER CODE BEGIN LPUART1_MspDeInit 0 */
378
379 /* USER CODE END LPUART1_MspDeInit 0 */
380 /* Peripheral clock disable */
381 __HAL_RCC_LPUART1_CLK_DISABLE();
382
383 /**LPUART1 GPIO Configuration
384 PA2 ------> LPUART1_TX
385 PA3 ------> LPUART1_RX
386 */
387 HAL_GPIO_DeInit(GPIOA, LPUART1_TX_Pin|LPUART1_RX_Pin);
388
389 /* LPUART1 interrupt DeInit */
390 /* USER CODE BEGIN LPUART1:USART3_4_LPUART1_IRQn disable */
391 /**
392 * Uncomment the line below to disable the "USART3_4_LPUART1_IRQn" interrupt
393 * Be aware, disabling shared interrupt may affect other IPs
394 */
395 /* HAL_NVIC_DisableIRQ(USART3_4_LPUART1_IRQn); */
396 /* USER CODE END LPUART1:USART3_4_LPUART1_IRQn disable */
397
398 /* USER CODE BEGIN LPUART1_MspDeInit 1 */
399
400 /* USER CODE END LPUART1_MspDeInit 1 */
401 }
402 else if(huart->Instance==USART1)
403 {
404 /* USER CODE BEGIN USART1_MspDeInit 0 */
405
406 /* USER CODE END USART1_MspDeInit 0 */
407 /* Peripheral clock disable */
408 __HAL_RCC_USART1_CLK_DISABLE();
409
410 /**USART1 GPIO Configuration
411 PC4 ------> USART1_TX
412 PC5 ------> USART1_RX
413 */
414 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_4|GPIO_PIN_5);
415
416 /* USER CODE BEGIN USART1_MspDeInit 1 */
417
418 /* USER CODE END USART1_MspDeInit 1 */
419 }
420 else if(huart->Instance==USART2)
421 {
422 /* USER CODE BEGIN USART2_MspDeInit 0 */
423
424 /* USER CODE END USART2_MspDeInit 0 */
425 /* Peripheral clock disable */
426 __HAL_RCC_USART2_CLK_DISABLE();
427
428 /**USART2 GPIO Configuration
429 PA15 ------> USART2_RX
430 PD5 ------> USART2_TX
431 */
432 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_15);
433
434 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_5);
435
436 /* USER CODE BEGIN USART2_MspDeInit 1 */
437
438 /* USER CODE END USART2_MspDeInit 1 */
439 }
440 else if(huart->Instance==USART3)
441 {
442 /* USER CODE BEGIN USART3_MspDeInit 0 */
443
444 /* USER CODE END USART3_MspDeInit 0 */
445 /* Peripheral clock disable */
446 __HAL_RCC_USART3_CLK_DISABLE();
447
448 /**USART3 GPIO Configuration
449 PC11 ------> USART3_RX
450 PB2 ------> USART3_TX
451 */
452 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_11);
453
454 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_2);
455
456 /* USART3 interrupt DeInit */
457 /* USER CODE BEGIN USART3:USART3_4_LPUART1_IRQn disable */
458 /**
459 * Uncomment the line below to disable the "USART3_4_LPUART1_IRQn" interrupt
460 * Be aware, disabling shared interrupt may affect other IPs
461 */
462 /* HAL_NVIC_DisableIRQ(USART3_4_LPUART1_IRQn); */
463 /* USER CODE END USART3:USART3_4_LPUART1_IRQn disable */
464
465 /* USER CODE BEGIN USART3_MspDeInit 1 */
466
467 /* USER CODE END USART3_MspDeInit 1 */
468 }
469
470 }
471
472 /**
473 * @brief SPI MSP Initialization
474 * This function configures the hardware resources used in this example
475 * @param hspi: SPI handle pointer
476 * @retval None
477 */
HAL_SPI_MspInit(SPI_HandleTypeDef * hspi)478 void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
479 {
480
481 GPIO_InitTypeDef GPIO_InitStruct = {0};
482 if(hspi->Instance==SPI1)
483 {
484 /* USER CODE BEGIN SPI1_MspInit 0 */
485
486 /* USER CODE END SPI1_MspInit 0 */
487 /* Peripheral clock enable */
488 __HAL_RCC_SPI1_CLK_ENABLE();
489
490 __HAL_RCC_GPIOA_CLK_ENABLE();
491 __HAL_RCC_GPIOD_CLK_ENABLE();
492 /**SPI1 GPIO Configuration
493 PA6 ------> SPI1_MISO
494 PA7 ------> SPI1_MOSI
495 PD8 ------> SPI1_SCK
496 */
497 GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
498 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
499 GPIO_InitStruct.Pull = GPIO_NOPULL;
500 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
501 GPIO_InitStruct.Alternate = GPIO_AF0_SPI1;
502 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
503
504 GPIO_InitStruct.Pin = GPIO_PIN_8;
505 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
506 GPIO_InitStruct.Pull = GPIO_NOPULL;
507 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
508 GPIO_InitStruct.Alternate = GPIO_AF1_SPI1;
509 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
510
511 /* USER CODE BEGIN SPI1_MspInit 1 */
512
513 /* USER CODE END SPI1_MspInit 1 */
514 }
515 else if(hspi->Instance==SPI2)
516 {
517 /* USER CODE BEGIN SPI2_MspInit 0 */
518
519 /* USER CODE END SPI2_MspInit 0 */
520 /* Peripheral clock enable */
521 __HAL_RCC_SPI2_CLK_ENABLE();
522
523 __HAL_RCC_GPIOC_CLK_ENABLE();
524 __HAL_RCC_GPIOB_CLK_ENABLE();
525 /**SPI2 GPIO Configuration
526 PC2 ------> SPI2_MISO
527 PC3 ------> SPI2_MOSI
528 PB13 ------> SPI2_SCK
529 */
530 GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
531 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
532 GPIO_InitStruct.Pull = GPIO_NOPULL;
533 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
534 GPIO_InitStruct.Alternate = GPIO_AF1_SPI2;
535 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
536
537 GPIO_InitStruct.Pin = GPIO_PIN_13;
538 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
539 GPIO_InitStruct.Pull = GPIO_NOPULL;
540 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
541 GPIO_InitStruct.Alternate = GPIO_AF0_SPI2;
542 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
543
544 /* USER CODE BEGIN SPI2_MspInit 1 */
545
546 /* USER CODE END SPI2_MspInit 1 */
547 }
548
549 }
550
551 /**
552 * @brief SPI MSP De-Initialization
553 * This function freeze the hardware resources used in this example
554 * @param hspi: SPI handle pointer
555 * @retval None
556 */
557
HAL_SPI_MspDeInit(SPI_HandleTypeDef * hspi)558 void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
559 {
560
561 if(hspi->Instance==SPI1)
562 {
563 /* USER CODE BEGIN SPI1_MspDeInit 0 */
564
565 /* USER CODE END SPI1_MspDeInit 0 */
566 /* Peripheral clock disable */
567 __HAL_RCC_SPI1_CLK_DISABLE();
568
569 /**SPI1 GPIO Configuration
570 PA6 ------> SPI1_MISO
571 PA7 ------> SPI1_MOSI
572 PD8 ------> SPI1_SCK
573 */
574 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_6|GPIO_PIN_7);
575
576 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_8);
577
578 /* USER CODE BEGIN SPI1_MspDeInit 1 */
579
580 /* USER CODE END SPI1_MspDeInit 1 */
581 }
582 else if(hspi->Instance==SPI2)
583 {
584 /* USER CODE BEGIN SPI2_MspDeInit 0 */
585
586 /* USER CODE END SPI2_MspDeInit 0 */
587 /* Peripheral clock disable */
588 __HAL_RCC_SPI2_CLK_DISABLE();
589
590 /**SPI2 GPIO Configuration
591 PC2 ------> SPI2_MISO
592 PC3 ------> SPI2_MOSI
593 PB13 ------> SPI2_SCK
594 */
595 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_2|GPIO_PIN_3);
596
597 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_13);
598
599 /* USER CODE BEGIN SPI2_MspDeInit 1 */
600
601 /* USER CODE END SPI2_MspDeInit 1 */
602 }
603
604 }
605
606 /**
607 * @brief TIM_Base MSP Initialization
608 * This function configures the hardware resources used in this example
609 * @param htim_base: TIM_Base handle pointer
610 * @retval None
611 */
HAL_TIM_Base_MspInit(TIM_HandleTypeDef * htim_base)612 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
613 {
614
615 if(htim_base->Instance==TIM2)
616 {
617 /* USER CODE BEGIN TIM2_MspInit 0 */
618
619 /* USER CODE END TIM2_MspInit 0 */
620 /* Peripheral clock enable */
621 __HAL_RCC_TIM2_CLK_ENABLE();
622 /* USER CODE BEGIN TIM2_MspInit 1 */
623
624 /* USER CODE END TIM2_MspInit 1 */
625 }
626 else if(htim_base->Instance==TIM3)
627 {
628 /* USER CODE BEGIN TIM3_MspInit 0 */
629
630 /* USER CODE END TIM3_MspInit 0 */
631 /* Peripheral clock enable */
632 __HAL_RCC_TIM3_CLK_ENABLE();
633 /* USER CODE BEGIN TIM3_MspInit 1 */
634
635 /* USER CODE END TIM3_MspInit 1 */
636 }
637
638 }
639
HAL_TIM_MspPostInit(TIM_HandleTypeDef * htim)640 void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
641 {
642
643 GPIO_InitTypeDef GPIO_InitStruct = {0};
644 if(htim->Instance==TIM3)
645 {
646 /* USER CODE BEGIN TIM3_MspPostInit 0 */
647
648 /* USER CODE END TIM3_MspPostInit 0 */
649
650 __HAL_RCC_GPIOB_CLK_ENABLE();
651 __HAL_RCC_GPIOC_CLK_ENABLE();
652 /**TIM3 GPIO Configuration
653 PB0 ------> TIM3_CH3
654 PB1 ------> TIM3_CH4
655 PC6 ------> TIM3_CH1
656 PC7 ------> TIM3_CH2
657 */
658 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
659 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
660 GPIO_InitStruct.Pull = GPIO_NOPULL;
661 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
662 GPIO_InitStruct.Alternate = GPIO_AF1_TIM3;
663 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
664
665 GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
666 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
667 GPIO_InitStruct.Pull = GPIO_NOPULL;
668 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
669 GPIO_InitStruct.Alternate = GPIO_AF1_TIM3;
670 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
671
672 /* USER CODE BEGIN TIM3_MspPostInit 1 */
673
674 /* USER CODE END TIM3_MspPostInit 1 */
675 }
676
677 }
678 /**
679 * @brief TIM_Base MSP De-Initialization
680 * This function freeze the hardware resources used in this example
681 * @param htim_base: TIM_Base handle pointer
682 * @retval None
683 */
684
HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef * htim_base)685 void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
686 {
687
688 if(htim_base->Instance==TIM2)
689 {
690 /* USER CODE BEGIN TIM2_MspDeInit 0 */
691
692 /* USER CODE END TIM2_MspDeInit 0 */
693 /* Peripheral clock disable */
694 __HAL_RCC_TIM2_CLK_DISABLE();
695 /* USER CODE BEGIN TIM2_MspDeInit 1 */
696
697 /* USER CODE END TIM2_MspDeInit 1 */
698 }
699 else if(htim_base->Instance==TIM3)
700 {
701 /* USER CODE BEGIN TIM3_MspDeInit 0 */
702
703 /* USER CODE END TIM3_MspDeInit 0 */
704 /* Peripheral clock disable */
705 __HAL_RCC_TIM3_CLK_DISABLE();
706 /* USER CODE BEGIN TIM3_MspDeInit 1 */
707
708 /* USER CODE END TIM3_MspDeInit 1 */
709 }
710
711 }
712
713 /* USER CODE BEGIN 1 */
714
715 /* USER CODE END 1 */
716
717 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
718