1 /* USER CODE BEGIN Header */
2 /**
3   ******************************************************************************
4   * File Name          : stm32l4xx_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   * Initializes the Global MSP.
63   */
HAL_MspInit(void)64 void HAL_MspInit(void)
65 {
66   /* USER CODE BEGIN MspInit 0 */
67 
68   /* USER CODE END MspInit 0 */
69 
70   __HAL_RCC_SYSCFG_CLK_ENABLE();
71   __HAL_RCC_PWR_CLK_ENABLE();
72 
73   /* System interrupt init*/
74 
75   /* USER CODE BEGIN MspInit 1 */
76 
77   /* USER CODE END MspInit 1 */
78 }
79 
80 /**
81 * @brief LPTIM MSP Initialization
82 * This function configures the hardware resources used in this example
83 * @param hlptim: LPTIM handle pointer
84 * @retval None
85 */
HAL_LPTIM_MspInit(LPTIM_HandleTypeDef * hlptim)86 void HAL_LPTIM_MspInit(LPTIM_HandleTypeDef* hlptim)
87 {
88   if(hlptim->Instance==LPTIM1)
89   {
90   /* USER CODE BEGIN LPTIM1_MspInit 0 */
91 
92   /* USER CODE END LPTIM1_MspInit 0 */
93     /* Peripheral clock enable */
94     __HAL_RCC_LPTIM1_CLK_ENABLE();
95   /* USER CODE BEGIN LPTIM1_MspInit 1 */
96 
97   /* USER CODE END LPTIM1_MspInit 1 */
98   }
99 
100 }
101 
102 /**
103 * @brief LPTIM MSP De-Initialization
104 * This function freeze the hardware resources used in this example
105 * @param hlptim: LPTIM handle pointer
106 * @retval None
107 */
HAL_LPTIM_MspDeInit(LPTIM_HandleTypeDef * hlptim)108 void HAL_LPTIM_MspDeInit(LPTIM_HandleTypeDef* hlptim)
109 {
110   if(hlptim->Instance==LPTIM1)
111   {
112   /* USER CODE BEGIN LPTIM1_MspDeInit 0 */
113 
114   /* USER CODE END LPTIM1_MspDeInit 0 */
115     /* Peripheral clock disable */
116     __HAL_RCC_LPTIM1_CLK_DISABLE();
117   /* USER CODE BEGIN LPTIM1_MspDeInit 1 */
118 
119   /* USER CODE END LPTIM1_MspDeInit 1 */
120   }
121 
122 }
123 
124 /**
125 * @brief RTC MSP Initialization
126 * This function configures the hardware resources used in this example
127 * @param hrtc: RTC handle pointer
128 * @retval None
129 */
HAL_RTC_MspInit(RTC_HandleTypeDef * hrtc)130 void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
131 {
132   if(hrtc->Instance==RTC)
133   {
134   /* USER CODE BEGIN RTC_MspInit 0 */
135 
136   /* USER CODE END RTC_MspInit 0 */
137     /* Peripheral clock enable */
138     __HAL_RCC_RTC_ENABLE();
139   /* USER CODE BEGIN RTC_MspInit 1 */
140 
141   /* USER CODE END RTC_MspInit 1 */
142   }
143 
144 }
145 
146 /**
147 * @brief RTC MSP De-Initialization
148 * This function freeze the hardware resources used in this example
149 * @param hrtc: RTC handle pointer
150 * @retval None
151 */
HAL_RTC_MspDeInit(RTC_HandleTypeDef * hrtc)152 void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
153 {
154   if(hrtc->Instance==RTC)
155   {
156   /* USER CODE BEGIN RTC_MspDeInit 0 */
157 
158   /* USER CODE END RTC_MspDeInit 0 */
159     /* Peripheral clock disable */
160     __HAL_RCC_RTC_DISABLE();
161   /* USER CODE BEGIN RTC_MspDeInit 1 */
162 
163   /* USER CODE END RTC_MspDeInit 1 */
164   }
165 
166 }
167 
168 /**
169 * @brief SPI MSP Initialization
170 * This function configures the hardware resources used in this example
171 * @param hspi: SPI handle pointer
172 * @retval None
173 */
HAL_SPI_MspInit(SPI_HandleTypeDef * hspi)174 void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
175 {
176   GPIO_InitTypeDef GPIO_InitStruct = {0};
177   if(hspi->Instance==SPI1)
178   {
179   /* USER CODE BEGIN SPI1_MspInit 0 */
180 
181   /* USER CODE END SPI1_MspInit 0 */
182     /* Peripheral clock enable */
183     __HAL_RCC_SPI1_CLK_ENABLE();
184 
185     __HAL_RCC_GPIOA_CLK_ENABLE();
186     /**SPI1 GPIO Configuration
187     PA1     ------> SPI1_SCK
188     PA11     ------> SPI1_MISO
189     PA12     ------> SPI1_MOSI
190     */
191     GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_11|GPIO_PIN_12;
192     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
193     GPIO_InitStruct.Pull = GPIO_NOPULL;
194     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
195     GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
196     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
197 
198   /* USER CODE BEGIN SPI1_MspInit 1 */
199 
200   /* USER CODE END SPI1_MspInit 1 */
201   }
202 
203 }
204 
205 /**
206 * @brief SPI MSP De-Initialization
207 * This function freeze the hardware resources used in this example
208 * @param hspi: SPI handle pointer
209 * @retval None
210 */
HAL_SPI_MspDeInit(SPI_HandleTypeDef * hspi)211 void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
212 {
213   if(hspi->Instance==SPI1)
214   {
215   /* USER CODE BEGIN SPI1_MspDeInit 0 */
216 
217   /* USER CODE END SPI1_MspDeInit 0 */
218     /* Peripheral clock disable */
219     __HAL_RCC_SPI1_CLK_DISABLE();
220 
221     /**SPI1 GPIO Configuration
222     PA1     ------> SPI1_SCK
223     PA11     ------> SPI1_MISO
224     PA12     ------> SPI1_MOSI
225     */
226     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_11|GPIO_PIN_12);
227 
228   /* USER CODE BEGIN SPI1_MspDeInit 1 */
229 
230   /* USER CODE END SPI1_MspDeInit 1 */
231   }
232 
233 }
234 
235 /**
236 * @brief TIM_Base MSP Initialization
237 * This function configures the hardware resources used in this example
238 * @param htim_base: TIM_Base handle pointer
239 * @retval None
240 */
HAL_TIM_Base_MspInit(TIM_HandleTypeDef * htim_base)241 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
242 {
243   if(htim_base->Instance==TIM2)
244   {
245   /* USER CODE BEGIN TIM2_MspInit 0 */
246 
247   /* USER CODE END TIM2_MspInit 0 */
248     /* Peripheral clock enable */
249     __HAL_RCC_TIM2_CLK_ENABLE();
250   /* USER CODE BEGIN TIM2_MspInit 1 */
251 
252   /* USER CODE END TIM2_MspInit 1 */
253   }
254 
255 }
256 
257 /**
258 * @brief TIM_Base MSP De-Initialization
259 * This function freeze the hardware resources used in this example
260 * @param htim_base: TIM_Base handle pointer
261 * @retval None
262 */
HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef * htim_base)263 void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
264 {
265   if(htim_base->Instance==TIM2)
266   {
267   /* USER CODE BEGIN TIM2_MspDeInit 0 */
268 
269   /* USER CODE END TIM2_MspDeInit 0 */
270     /* Peripheral clock disable */
271     __HAL_RCC_TIM2_CLK_DISABLE();
272   /* USER CODE BEGIN TIM2_MspDeInit 1 */
273 
274   /* USER CODE END TIM2_MspDeInit 1 */
275   }
276 
277 }
278 
279 /**
280 * @brief UART MSP Initialization
281 * This function configures the hardware resources used in this example
282 * @param huart: UART handle pointer
283 * @retval None
284 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)285 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
286 {
287   GPIO_InitTypeDef GPIO_InitStruct = {0};
288   if(huart->Instance==USART1)
289   {
290   /* USER CODE BEGIN USART1_MspInit 0 */
291 
292   /* USER CODE END USART1_MspInit 0 */
293     /* Peripheral clock enable */
294     __HAL_RCC_USART1_CLK_ENABLE();
295 
296     __HAL_RCC_GPIOA_CLK_ENABLE();
297     /**USART1 GPIO Configuration
298     PA9     ------> USART1_TX
299     PA10     ------> USART1_RX
300     */
301     GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;
302     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
303     GPIO_InitStruct.Pull = GPIO_PULLUP;
304     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
305     GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
306     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
307 
308   /* USER CODE BEGIN USART1_MspInit 1 */
309 
310   /* USER CODE END USART1_MspInit 1 */
311   }
312   else if(huart->Instance==USART2)
313   {
314   /* USER CODE BEGIN USART2_MspInit 0 */
315 
316   /* USER CODE END USART2_MspInit 0 */
317     /* Peripheral clock enable */
318     __HAL_RCC_USART2_CLK_ENABLE();
319 
320     __HAL_RCC_GPIOA_CLK_ENABLE();
321     /**USART2 GPIO Configuration
322     PA2     ------> USART2_TX
323     PA3     ------> USART2_RX
324     */
325     GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
326     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
327     GPIO_InitStruct.Pull = GPIO_PULLUP;
328     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
329     GPIO_InitStruct.Alternate = GPIO_AF7_USART2;
330     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
331 
332   /* USER CODE BEGIN USART2_MspInit 1 */
333 
334   /* USER CODE END USART2_MspInit 1 */
335   }
336 
337 }
338 
339 /**
340 * @brief UART MSP De-Initialization
341 * This function freeze the hardware resources used in this example
342 * @param huart: UART handle pointer
343 * @retval None
344 */
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)345 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
346 {
347   if(huart->Instance==USART1)
348   {
349   /* USER CODE BEGIN USART1_MspDeInit 0 */
350 
351   /* USER CODE END USART1_MspDeInit 0 */
352     /* Peripheral clock disable */
353     __HAL_RCC_USART1_CLK_DISABLE();
354 
355     /**USART1 GPIO Configuration
356     PA9     ------> USART1_TX
357     PA10     ------> USART1_RX
358     */
359     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
360 
361   /* USER CODE BEGIN USART1_MspDeInit 1 */
362 
363   /* USER CODE END USART1_MspDeInit 1 */
364   }
365   else if(huart->Instance==USART2)
366   {
367   /* USER CODE BEGIN USART2_MspDeInit 0 */
368 
369   /* USER CODE END USART2_MspDeInit 0 */
370     /* Peripheral clock disable */
371     __HAL_RCC_USART2_CLK_DISABLE();
372 
373     /**USART2 GPIO Configuration
374     PA2     ------> USART2_TX
375     PA3     ------> USART2_RX
376     */
377     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
378 
379   /* USER CODE BEGIN USART2_MspDeInit 1 */
380 
381   /* USER CODE END USART2_MspDeInit 1 */
382   }
383 
384 }
385 
386 /* USER CODE BEGIN 1 */
387 
388 /* USER CODE END 1 */
389 
390 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
391