1 /* USER CODE BEGIN Header */
2 /**
3   ******************************************************************************
4   * File Name          : stm32l1xx_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) 2019 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_COMP_CLK_ENABLE();
71   __HAL_RCC_SYSCFG_CLK_ENABLE();
72   __HAL_RCC_PWR_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 RTC MSP Initialization
83 * This function configures the hardware resources used in this example
84 * @param hrtc: RTC handle pointer
85 * @retval None
86 */
HAL_RTC_MspInit(RTC_HandleTypeDef * hrtc)87 void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
88 {
89   if(hrtc->Instance==RTC)
90   {
91   /* USER CODE BEGIN RTC_MspInit 0 */
92 
93   /* USER CODE END RTC_MspInit 0 */
94     /* Peripheral clock enable */
95     __HAL_RCC_RTC_ENABLE();
96   /* USER CODE BEGIN RTC_MspInit 1 */
97 
98   /* USER CODE END RTC_MspInit 1 */
99   }
100 
101 }
102 
103 /**
104 * @brief RTC MSP De-Initialization
105 * This function freeze the hardware resources used in this example
106 * @param hrtc: RTC handle pointer
107 * @retval None
108 */
HAL_RTC_MspDeInit(RTC_HandleTypeDef * hrtc)109 void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
110 {
111   if(hrtc->Instance==RTC)
112   {
113   /* USER CODE BEGIN RTC_MspDeInit 0 */
114 
115   /* USER CODE END RTC_MspDeInit 0 */
116     /* Peripheral clock disable */
117     __HAL_RCC_RTC_DISABLE();
118   /* USER CODE BEGIN RTC_MspDeInit 1 */
119 
120   /* USER CODE END RTC_MspDeInit 1 */
121   }
122 
123 }
124 
125 /**
126 * @brief SPI MSP Initialization
127 * This function configures the hardware resources used in this example
128 * @param hspi: SPI handle pointer
129 * @retval None
130 */
HAL_SPI_MspInit(SPI_HandleTypeDef * hspi)131 void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
132 {
133   GPIO_InitTypeDef GPIO_InitStruct = {0};
134   if(hspi->Instance==SPI1)
135   {
136   /* USER CODE BEGIN SPI1_MspInit 0 */
137 
138   /* USER CODE END SPI1_MspInit 0 */
139     /* Peripheral clock enable */
140     __HAL_RCC_SPI1_CLK_ENABLE();
141 
142     __HAL_RCC_GPIOA_CLK_ENABLE();
143     /**SPI1 GPIO Configuration
144     PA5     ------> SPI1_SCK
145     PA6     ------> SPI1_MISO
146     PA7     ------> SPI1_MOSI
147     */
148     GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
149     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
150     GPIO_InitStruct.Pull = GPIO_NOPULL;
151     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
152     GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
153     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
154 
155   /* USER CODE BEGIN SPI1_MspInit 1 */
156 
157   /* USER CODE END SPI1_MspInit 1 */
158   }
159 
160 }
161 
162 /**
163 * @brief SPI MSP De-Initialization
164 * This function freeze the hardware resources used in this example
165 * @param hspi: SPI handle pointer
166 * @retval None
167 */
HAL_SPI_MspDeInit(SPI_HandleTypeDef * hspi)168 void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
169 {
170   if(hspi->Instance==SPI1)
171   {
172   /* USER CODE BEGIN SPI1_MspDeInit 0 */
173 
174   /* USER CODE END SPI1_MspDeInit 0 */
175     /* Peripheral clock disable */
176     __HAL_RCC_SPI1_CLK_DISABLE();
177 
178     /**SPI1 GPIO Configuration
179     PA5     ------> SPI1_SCK
180     PA6     ------> SPI1_MISO
181     PA7     ------> SPI1_MOSI
182     */
183     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
184 
185   /* USER CODE BEGIN SPI1_MspDeInit 1 */
186 
187   /* USER CODE END SPI1_MspDeInit 1 */
188   }
189 
190 }
191 
192 /**
193 * @brief UART MSP Initialization
194 * This function configures the hardware resources used in this example
195 * @param huart: UART handle pointer
196 * @retval None
197 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)198 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
199 {
200   GPIO_InitTypeDef GPIO_InitStruct = {0};
201   if(huart->Instance==USART1)
202   {
203   /* USER CODE BEGIN USART1_MspInit 0 */
204 
205   /* USER CODE END USART1_MspInit 0 */
206     /* Peripheral clock enable */
207     __HAL_RCC_USART1_CLK_ENABLE();
208 
209     __HAL_RCC_GPIOA_CLK_ENABLE();
210     /**USART1 GPIO Configuration
211     PA9     ------> USART1_TX
212     PA10     ------> USART1_RX
213     */
214     GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;
215     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
216     GPIO_InitStruct.Pull = GPIO_PULLUP;
217     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
218     GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
219     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
220 
221     /* USART1 interrupt Init */
222     HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
223     HAL_NVIC_EnableIRQ(USART1_IRQn);
224   /* USER CODE BEGIN USART1_MspInit 1 */
225 
226   /* USER CODE END USART1_MspInit 1 */
227   }
228   else if(huart->Instance==USART2)
229   {
230   /* USER CODE BEGIN USART2_MspInit 0 */
231 
232   /* USER CODE END USART2_MspInit 0 */
233     /* Peripheral clock enable */
234     __HAL_RCC_USART2_CLK_ENABLE();
235 
236     __HAL_RCC_GPIOA_CLK_ENABLE();
237     /**USART2 GPIO Configuration
238     PA2     ------> USART2_TX
239     PA3     ------> USART2_RX
240     */
241     GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
242     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
243     GPIO_InitStruct.Pull = GPIO_PULLUP;
244     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
245     GPIO_InitStruct.Alternate = GPIO_AF7_USART2;
246     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
247 
248     /* USART2 interrupt Init */
249     HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
250     HAL_NVIC_EnableIRQ(USART2_IRQn);
251   /* USER CODE BEGIN USART2_MspInit 1 */
252 
253   /* USER CODE END USART2_MspInit 1 */
254   }
255 
256 }
257 
258 /**
259 * @brief UART MSP De-Initialization
260 * This function freeze the hardware resources used in this example
261 * @param huart: UART handle pointer
262 * @retval None
263 */
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)264 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
265 {
266   if(huart->Instance==USART1)
267   {
268   /* USER CODE BEGIN USART1_MspDeInit 0 */
269 
270   /* USER CODE END USART1_MspDeInit 0 */
271     /* Peripheral clock disable */
272     __HAL_RCC_USART1_CLK_DISABLE();
273 
274     /**USART1 GPIO Configuration
275     PA9     ------> USART1_TX
276     PA10     ------> USART1_RX
277     */
278     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
279 
280     /* USART1 interrupt DeInit */
281     HAL_NVIC_DisableIRQ(USART1_IRQn);
282   /* USER CODE BEGIN USART1_MspDeInit 1 */
283 
284   /* USER CODE END USART1_MspDeInit 1 */
285   }
286   else if(huart->Instance==USART2)
287   {
288   /* USER CODE BEGIN USART2_MspDeInit 0 */
289 
290   /* USER CODE END USART2_MspDeInit 0 */
291     /* Peripheral clock disable */
292     __HAL_RCC_USART2_CLK_DISABLE();
293 
294     /**USART2 GPIO Configuration
295     PA2     ------> USART2_TX
296     PA3     ------> USART2_RX
297     */
298     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
299 
300     /* USART2 interrupt DeInit */
301     HAL_NVIC_DisableIRQ(USART2_IRQn);
302   /* USER CODE BEGIN USART2_MspDeInit 1 */
303 
304   /* USER CODE END USART2_MspDeInit 1 */
305   }
306 
307 }
308 
309 /* USER CODE BEGIN 1 */
310 
311 /* USER CODE END 1 */
312 
313 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
314