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>&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_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