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) 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_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 UART MSP Initialization
86 * This function configures the hardware resources used in this example
87 * @param huart: UART handle pointer
88 * @retval None
89 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)90 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
91 {
92 GPIO_InitTypeDef GPIO_InitStruct = {0};
93 if(huart->Instance==UART4)
94 {
95 /* USER CODE BEGIN UART4_MspInit 0 */
96
97 /* USER CODE END UART4_MspInit 0 */
98 /* Peripheral clock enable */
99 __HAL_RCC_UART4_CLK_ENABLE();
100
101 __HAL_RCC_GPIOC_CLK_ENABLE();
102 /**UART4 GPIO Configuration
103 PC10 ------> UART4_TX
104 PC11 ------> UART4_RX
105 */
106 GPIO_InitStruct.Pin = GPIO_PIN_10;
107 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
108 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
109 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
110
111 GPIO_InitStruct.Pin = GPIO_PIN_11;
112 GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
113 GPIO_InitStruct.Pull = GPIO_PULLUP;
114 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
115
116 /* USER CODE BEGIN UART4_MspInit 1 */
117
118 /* USER CODE END UART4_MspInit 1 */
119 }
120 else if(huart->Instance==USART1)
121 {
122 /* USER CODE BEGIN USART1_MspInit 0 */
123
124 /* USER CODE END USART1_MspInit 0 */
125 /* Peripheral clock enable */
126 __HAL_RCC_USART1_CLK_ENABLE();
127
128 __HAL_RCC_GPIOA_CLK_ENABLE();
129 /**USART1 GPIO Configuration
130 PA9 ------> USART1_TX
131 PA10 ------> USART1_RX
132 */
133 GPIO_InitStruct.Pin = GPIO_PIN_9;
134 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
135 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
136 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
137
138 GPIO_InitStruct.Pin = GPIO_PIN_10;
139 GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
140 GPIO_InitStruct.Pull = GPIO_PULLUP;
141 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
142
143 /* USER CODE BEGIN USART1_MspInit 1 */
144
145 /* USER CODE END USART1_MspInit 1 */
146 }
147 else if(huart->Instance==USART2)
148 {
149 /* USER CODE BEGIN USART2_MspInit 0 */
150
151 /* USER CODE END USART2_MspInit 0 */
152 /* Peripheral clock enable */
153 __HAL_RCC_USART2_CLK_ENABLE();
154
155 __HAL_RCC_GPIOA_CLK_ENABLE();
156 /**USART2 GPIO Configuration
157 PA2 ------> USART2_TX
158 PA3 ------> USART2_RX
159 */
160 GPIO_InitStruct.Pin = GPIO_PIN_2;
161 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
162 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
163 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
164
165 GPIO_InitStruct.Pin = GPIO_PIN_3;
166 GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
167 GPIO_InitStruct.Pull = GPIO_PULLUP;
168 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
169
170 /* USER CODE BEGIN USART2_MspInit 1 */
171
172 /* USER CODE END USART2_MspInit 1 */
173 }
174 else if(huart->Instance==USART3)
175 {
176 /* USER CODE BEGIN USART3_MspInit 0 */
177
178 /* USER CODE END USART3_MspInit 0 */
179 /* Peripheral clock enable */
180 __HAL_RCC_USART3_CLK_ENABLE();
181
182 __HAL_RCC_GPIOB_CLK_ENABLE();
183 /**USART3 GPIO Configuration
184 PB10 ------> USART3_TX
185 PB11 ------> USART3_RX
186 */
187 GPIO_InitStruct.Pin = GPIO_PIN_10;
188 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
189 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
190 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
191
192 GPIO_InitStruct.Pin = GPIO_PIN_11;
193 GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
194 GPIO_InitStruct.Pull = GPIO_PULLUP;
195 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
196
197 /* USER CODE BEGIN USART3_MspInit 1 */
198
199 /* USER CODE END USART3_MspInit 1 */
200 }
201
202 }
203
204 /**
205 * @brief UART MSP De-Initialization
206 * This function freeze the hardware resources used in this example
207 * @param huart: UART handle pointer
208 * @retval None
209 */
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)210 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
211 {
212 if(huart->Instance==UART4)
213 {
214 /* USER CODE BEGIN UART4_MspDeInit 0 */
215
216 /* USER CODE END UART4_MspDeInit 0 */
217 /* Peripheral clock disable */
218 __HAL_RCC_UART4_CLK_DISABLE();
219
220 /**UART4 GPIO Configuration
221 PC10 ------> UART4_TX
222 PC11 ------> UART4_RX
223 */
224 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_10|GPIO_PIN_11);
225
226 /* USER CODE BEGIN UART4_MspDeInit 1 */
227
228 /* USER CODE END UART4_MspDeInit 1 */
229 }
230 else if(huart->Instance==USART1)
231 {
232 /* USER CODE BEGIN USART1_MspDeInit 0 */
233
234 /* USER CODE END USART1_MspDeInit 0 */
235 /* Peripheral clock disable */
236 __HAL_RCC_USART1_CLK_DISABLE();
237
238 /**USART1 GPIO Configuration
239 PA9 ------> USART1_TX
240 PA10 ------> USART1_RX
241 */
242 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
243
244 /* USER CODE BEGIN USART1_MspDeInit 1 */
245
246 /* USER CODE END USART1_MspDeInit 1 */
247 }
248 else if(huart->Instance==USART2)
249 {
250 /* USER CODE BEGIN USART2_MspDeInit 0 */
251
252 /* USER CODE END USART2_MspDeInit 0 */
253 /* Peripheral clock disable */
254 __HAL_RCC_USART2_CLK_DISABLE();
255
256 /**USART2 GPIO Configuration
257 PA2 ------> USART2_TX
258 PA3 ------> USART2_RX
259 */
260 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
261
262 /* USER CODE BEGIN USART2_MspDeInit 1 */
263
264 /* USER CODE END USART2_MspDeInit 1 */
265 }
266 else if(huart->Instance==USART3)
267 {
268 /* USER CODE BEGIN USART3_MspDeInit 0 */
269
270 /* USER CODE END USART3_MspDeInit 0 */
271 /* Peripheral clock disable */
272 __HAL_RCC_USART3_CLK_DISABLE();
273
274 /**USART3 GPIO Configuration
275 PB10 ------> USART3_TX
276 PB11 ------> USART3_RX
277 */
278 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11);
279
280 /* USER CODE BEGIN USART3_MspDeInit 1 */
281
282 /* USER CODE END USART3_MspDeInit 1 */
283 }
284
285 }
286
287 /* USER CODE BEGIN 1 */
288
289 /* USER CODE END 1 */
290
291 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
292