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