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>© 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