1 /* USER CODE BEGIN Header */
2 /**
3 ******************************************************************************
4 * File Name : stm32h7xx_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
74 /* System interrupt init*/
75
76 /* USER CODE BEGIN MspInit 1 */
77
78 /* USER CODE END MspInit 1 */
79 }
80
81 /**
82 * @brief QSPI MSP Initialization
83 * This function configures the hardware resources used in this example
84 * @param hqspi: QSPI handle pointer
85 * @retval None
86 */
HAL_QSPI_MspInit(QSPI_HandleTypeDef * hqspi)87 void HAL_QSPI_MspInit(QSPI_HandleTypeDef* hqspi)
88 {
89 GPIO_InitTypeDef GPIO_InitStruct = {0};
90 if(hqspi->Instance==QUADSPI)
91 {
92 /* USER CODE BEGIN QUADSPI_MspInit 0 */
93
94 /* USER CODE END QUADSPI_MspInit 0 */
95 /* Peripheral clock enable */
96 __HAL_RCC_QSPI_CLK_ENABLE();
97
98 __HAL_RCC_GPIOE_CLK_ENABLE();
99 __HAL_RCC_GPIOB_CLK_ENABLE();
100 __HAL_RCC_GPIOD_CLK_ENABLE();
101 /**QUADSPI GPIO Configuration
102 PE2 ------> QUADSPI_BK1_IO2
103 PB2 ------> QUADSPI_CLK
104 PD11 ------> QUADSPI_BK1_IO0
105 PD12 ------> QUADSPI_BK1_IO1
106 PD13 ------> QUADSPI_BK1_IO3
107 PB6 ------> QUADSPI_BK1_NCS
108 */
109 GPIO_InitStruct.Pin = GPIO_PIN_2;
110 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
111 GPIO_InitStruct.Pull = GPIO_NOPULL;
112 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
113 GPIO_InitStruct.Alternate = GPIO_AF9_QUADSPI;
114 HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
115
116 GPIO_InitStruct.Pin = GPIO_PIN_2;
117 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
118 GPIO_InitStruct.Pull = GPIO_NOPULL;
119 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
120 GPIO_InitStruct.Alternate = GPIO_AF9_QUADSPI;
121 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
122
123 GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13;
124 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
125 GPIO_InitStruct.Pull = GPIO_NOPULL;
126 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
127 GPIO_InitStruct.Alternate = GPIO_AF9_QUADSPI;
128 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
129
130 GPIO_InitStruct.Pin = GPIO_PIN_6;
131 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
132 GPIO_InitStruct.Pull = GPIO_NOPULL;
133 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
134 GPIO_InitStruct.Alternate = GPIO_AF10_QUADSPI;
135 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
136
137 /* USER CODE BEGIN QUADSPI_MspInit 1 */
138
139 /* USER CODE END QUADSPI_MspInit 1 */
140 }
141
142 }
143
144 /**
145 * @brief QSPI MSP De-Initialization
146 * This function freeze the hardware resources used in this example
147 * @param hqspi: QSPI handle pointer
148 * @retval None
149 */
HAL_QSPI_MspDeInit(QSPI_HandleTypeDef * hqspi)150 void HAL_QSPI_MspDeInit(QSPI_HandleTypeDef* hqspi)
151 {
152 if(hqspi->Instance==QUADSPI)
153 {
154 /* USER CODE BEGIN QUADSPI_MspDeInit 0 */
155
156 /* USER CODE END QUADSPI_MspDeInit 0 */
157 /* Peripheral clock disable */
158 __HAL_RCC_QSPI_CLK_DISABLE();
159
160 /**QUADSPI GPIO Configuration
161 PE2 ------> QUADSPI_BK1_IO2
162 PB2 ------> QUADSPI_CLK
163 PD11 ------> QUADSPI_BK1_IO0
164 PD12 ------> QUADSPI_BK1_IO1
165 PD13 ------> QUADSPI_BK1_IO3
166 PB6 ------> QUADSPI_BK1_NCS
167 */
168 HAL_GPIO_DeInit(GPIOE, GPIO_PIN_2);
169
170 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_2|GPIO_PIN_6);
171
172 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13);
173
174 /* USER CODE BEGIN QUADSPI_MspDeInit 1 */
175
176 /* USER CODE END QUADSPI_MspDeInit 1 */
177 }
178
179 }
180
181 /**
182 * @brief RTC MSP Initialization
183 * This function configures the hardware resources used in this example
184 * @param hrtc: RTC handle pointer
185 * @retval None
186 */
HAL_RTC_MspInit(RTC_HandleTypeDef * hrtc)187 void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
188 {
189 if(hrtc->Instance==RTC)
190 {
191 /* USER CODE BEGIN RTC_MspInit 0 */
192
193 /* USER CODE END RTC_MspInit 0 */
194 /* Peripheral clock enable */
195 __HAL_RCC_RTC_ENABLE();
196 /* USER CODE BEGIN RTC_MspInit 1 */
197
198 /* USER CODE END RTC_MspInit 1 */
199 }
200
201 }
202
203 /**
204 * @brief RTC MSP De-Initialization
205 * This function freeze the hardware resources used in this example
206 * @param hrtc: RTC handle pointer
207 * @retval None
208 */
HAL_RTC_MspDeInit(RTC_HandleTypeDef * hrtc)209 void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
210 {
211 if(hrtc->Instance==RTC)
212 {
213 /* USER CODE BEGIN RTC_MspDeInit 0 */
214
215 /* USER CODE END RTC_MspDeInit 0 */
216 /* Peripheral clock disable */
217 __HAL_RCC_RTC_DISABLE();
218 /* USER CODE BEGIN RTC_MspDeInit 1 */
219
220 /* USER CODE END RTC_MspDeInit 1 */
221 }
222
223 }
224
225 /**
226 * @brief SPI MSP Initialization
227 * This function configures the hardware resources used in this example
228 * @param hspi: SPI handle pointer
229 * @retval None
230 */
HAL_SPI_MspInit(SPI_HandleTypeDef * hspi)231 void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
232 {
233 GPIO_InitTypeDef GPIO_InitStruct = {0};
234 if(hspi->Instance==SPI1)
235 {
236 /* USER CODE BEGIN SPI1_MspInit 0 */
237
238 /* USER CODE END SPI1_MspInit 0 */
239 /* Peripheral clock enable */
240 __HAL_RCC_SPI1_CLK_ENABLE();
241
242 __HAL_RCC_GPIOD_CLK_ENABLE();
243 __HAL_RCC_GPIOB_CLK_ENABLE();
244 /**SPI1 GPIO Configuration
245 PD7 ------> SPI1_MOSI
246 PB3 (JTDO/TRACESWO) ------> SPI1_SCK
247 PB4 (NJTRST) ------> SPI1_MISO
248 */
249 GPIO_InitStruct.Pin = GPIO_PIN_7;
250 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
251 GPIO_InitStruct.Pull = GPIO_NOPULL;
252 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
253 GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
254 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
255
256 GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_4;
257 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
258 GPIO_InitStruct.Pull = GPIO_NOPULL;
259 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
260 GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
261 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
262
263 /* USER CODE BEGIN SPI1_MspInit 1 */
264
265 /* USER CODE END SPI1_MspInit 1 */
266 }
267 else if(hspi->Instance==SPI4)
268 {
269 /* USER CODE BEGIN SPI4_MspInit 0 */
270
271 /* USER CODE END SPI4_MspInit 0 */
272 /* Peripheral clock enable */
273 __HAL_RCC_SPI4_CLK_ENABLE();
274
275 __HAL_RCC_GPIOE_CLK_ENABLE();
276 /**SPI4 GPIO Configuration
277 PE12 ------> SPI4_SCK
278 PE14 ------> SPI4_MOSI
279 */
280 GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_14;
281 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
282 GPIO_InitStruct.Pull = GPIO_NOPULL;
283 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
284 GPIO_InitStruct.Alternate = GPIO_AF5_SPI4;
285 HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
286
287 /* USER CODE BEGIN SPI4_MspInit 1 */
288
289 /* USER CODE END SPI4_MspInit 1 */
290 }
291
292 }
293
294 /**
295 * @brief SPI MSP De-Initialization
296 * This function freeze the hardware resources used in this example
297 * @param hspi: SPI handle pointer
298 * @retval None
299 */
HAL_SPI_MspDeInit(SPI_HandleTypeDef * hspi)300 void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
301 {
302 if(hspi->Instance==SPI1)
303 {
304 /* USER CODE BEGIN SPI1_MspDeInit 0 */
305
306 /* USER CODE END SPI1_MspDeInit 0 */
307 /* Peripheral clock disable */
308 __HAL_RCC_SPI1_CLK_DISABLE();
309
310 /**SPI1 GPIO Configuration
311 PD7 ------> SPI1_MOSI
312 PB3 (JTDO/TRACESWO) ------> SPI1_SCK
313 PB4 (NJTRST) ------> SPI1_MISO
314 */
315 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_7);
316
317 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_3|GPIO_PIN_4);
318
319 /* USER CODE BEGIN SPI1_MspDeInit 1 */
320
321 /* USER CODE END SPI1_MspDeInit 1 */
322 }
323 else if(hspi->Instance==SPI4)
324 {
325 /* USER CODE BEGIN SPI4_MspDeInit 0 */
326
327 /* USER CODE END SPI4_MspDeInit 0 */
328 /* Peripheral clock disable */
329 __HAL_RCC_SPI4_CLK_DISABLE();
330
331 /**SPI4 GPIO Configuration
332 PE12 ------> SPI4_SCK
333 PE14 ------> SPI4_MOSI
334 */
335 HAL_GPIO_DeInit(GPIOE, GPIO_PIN_12|GPIO_PIN_14);
336
337 /* USER CODE BEGIN SPI4_MspDeInit 1 */
338
339 /* USER CODE END SPI4_MspDeInit 1 */
340 }
341
342 }
343
344 /**
345 * @brief TIM_Base MSP Initialization
346 * This function configures the hardware resources used in this example
347 * @param htim_base: TIM_Base handle pointer
348 * @retval None
349 */
HAL_TIM_Base_MspInit(TIM_HandleTypeDef * htim_base)350 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
351 {
352 if(htim_base->Instance==TIM1)
353 {
354 /* USER CODE BEGIN TIM1_MspInit 0 */
355
356 /* USER CODE END TIM1_MspInit 0 */
357 /* Peripheral clock enable */
358 __HAL_RCC_TIM1_CLK_ENABLE();
359 /* USER CODE BEGIN TIM1_MspInit 1 */
360
361 /* USER CODE END TIM1_MspInit 1 */
362 }
363
364 }
365
HAL_TIM_MspPostInit(TIM_HandleTypeDef * htim)366 void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
367 {
368 GPIO_InitTypeDef GPIO_InitStruct = {0};
369 if(htim->Instance==TIM1)
370 {
371 /* USER CODE BEGIN TIM1_MspPostInit 0 */
372
373 /* USER CODE END TIM1_MspPostInit 0 */
374
375 __HAL_RCC_GPIOE_CLK_ENABLE();
376 /**TIM1 GPIO Configuration
377 PE10 ------> TIM1_CH2N
378 */
379 GPIO_InitStruct.Pin = LCD_LED_Pin;
380 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
381 GPIO_InitStruct.Pull = GPIO_NOPULL;
382 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
383 GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;
384 HAL_GPIO_Init(LCD_LED_GPIO_Port, &GPIO_InitStruct);
385
386 /* USER CODE BEGIN TIM1_MspPostInit 1 */
387
388 /* USER CODE END TIM1_MspPostInit 1 */
389 }
390
391 }
392 /**
393 * @brief TIM_Base MSP De-Initialization
394 * This function freeze the hardware resources used in this example
395 * @param htim_base: TIM_Base handle pointer
396 * @retval None
397 */
HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef * htim_base)398 void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
399 {
400 if(htim_base->Instance==TIM1)
401 {
402 /* USER CODE BEGIN TIM1_MspDeInit 0 */
403
404 /* USER CODE END TIM1_MspDeInit 0 */
405 /* Peripheral clock disable */
406 __HAL_RCC_TIM1_CLK_DISABLE();
407 /* USER CODE BEGIN TIM1_MspDeInit 1 */
408
409 /* USER CODE END TIM1_MspDeInit 1 */
410 }
411
412 }
413
414 /**
415 * @brief UART MSP Initialization
416 * This function configures the hardware resources used in this example
417 * @param huart: UART handle pointer
418 * @retval None
419 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)420 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
421 {
422 GPIO_InitTypeDef GPIO_InitStruct = {0};
423 if(huart->Instance==USART1)
424 {
425 /* USER CODE BEGIN USART1_MspInit 0 */
426
427 /* USER CODE END USART1_MspInit 0 */
428 /* Peripheral clock enable */
429 __HAL_RCC_USART1_CLK_ENABLE();
430
431 __HAL_RCC_GPIOB_CLK_ENABLE();
432 /**USART1 GPIO Configuration
433 PB14 ------> USART1_TX
434 PB15 ------> USART1_RX
435 */
436 GPIO_InitStruct.Pin = GPIO_PIN_14|GPIO_PIN_15;
437 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
438 GPIO_InitStruct.Pull = GPIO_NOPULL;
439 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
440 GPIO_InitStruct.Alternate = GPIO_AF4_USART1;
441 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
442
443 /* USER CODE BEGIN USART1_MspInit 1 */
444
445 /* USER CODE END USART1_MspInit 1 */
446 }
447
448 }
449
450 /**
451 * @brief UART MSP De-Initialization
452 * This function freeze the hardware resources used in this example
453 * @param huart: UART handle pointer
454 * @retval None
455 */
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)456 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
457 {
458 if(huart->Instance==USART1)
459 {
460 /* USER CODE BEGIN USART1_MspDeInit 0 */
461
462 /* USER CODE END USART1_MspDeInit 0 */
463 /* Peripheral clock disable */
464 __HAL_RCC_USART1_CLK_DISABLE();
465
466 /**USART1 GPIO Configuration
467 PB14 ------> USART1_TX
468 PB15 ------> USART1_RX
469 */
470 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_14|GPIO_PIN_15);
471
472 /* USER CODE BEGIN USART1_MspDeInit 1 */
473
474 /* USER CODE END USART1_MspDeInit 1 */
475 }
476
477 }
478
479 /* USER CODE BEGIN 1 */
480
481 /* USER CODE END 1 */
482
483 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
484