1 /* USER CODE BEGIN Header */
2 /**
3 ******************************************************************************
4 * File Name : stm32f7xx_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_PWR_CLK_ENABLE();
71 __HAL_RCC_SYSCFG_CLK_ENABLE();
72
73 /* System interrupt init*/
74
75 /* USER CODE BEGIN MspInit 1 */
76
77 /* USER CODE END MspInit 1 */
78 }
79
80 /**
81 * @brief ETH MSP Initialization
82 * This function configures the hardware resources used in this example
83 * @param heth: ETH handle pointer
84 * @retval None
85 */
HAL_ETH_MspInit(ETH_HandleTypeDef * heth)86 void HAL_ETH_MspInit(ETH_HandleTypeDef* heth)
87 {
88 GPIO_InitTypeDef GPIO_InitStruct = {0};
89 if(heth->Instance==ETH)
90 {
91 /* USER CODE BEGIN ETH_MspInit 0 */
92
93 /* USER CODE END ETH_MspInit 0 */
94 /* Peripheral clock enable */
95 __HAL_RCC_ETH_CLK_ENABLE();
96
97 __HAL_RCC_GPIOE_CLK_ENABLE();
98 __HAL_RCC_GPIOG_CLK_ENABLE();
99 __HAL_RCC_GPIOH_CLK_ENABLE();
100 __HAL_RCC_GPIOC_CLK_ENABLE();
101 __HAL_RCC_GPIOA_CLK_ENABLE();
102 /**ETH GPIO Configuration
103 PE2 ------> ETH_TXD3
104 PG14 ------> ETH_TXD1
105 PG13 ------> ETH_TXD0
106 PG11 ------> ETH_TX_EN
107 PH3 ------> ETH_COL
108 PH2 ------> ETH_CRS
109 PC3 ------> ETH_TX_CLK
110 PC1 ------> ETH_MDC
111 PC2 ------> ETH_TXD2
112 PA1 ------> ETH_RX_CLK
113 PC4 ------> ETH_RXD0
114 PH7 ------> ETH_RXD3
115 PA2 ------> ETH_MDIO
116 PC5 ------> ETH_RXD1
117 PH6 ------> ETH_RXD2
118 PA7 ------> ETH_RX_DV
119 */
120 GPIO_InitStruct.Pin = GPIO_PIN_2;
121 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
122 GPIO_InitStruct.Pull = GPIO_NOPULL;
123 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
124 GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
125 HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
126
127 GPIO_InitStruct.Pin = GPIO_PIN_14|GPIO_PIN_13|GPIO_PIN_11;
128 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
129 GPIO_InitStruct.Pull = GPIO_NOPULL;
130 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
131 GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
132 HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
133
134 GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_2|GPIO_PIN_7|GPIO_PIN_6;
135 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
136 GPIO_InitStruct.Pull = GPIO_NOPULL;
137 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
138 GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
139 HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
140
141 GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_4
142 |GPIO_PIN_5;
143 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
144 GPIO_InitStruct.Pull = GPIO_NOPULL;
145 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
146 GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
147 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
148
149 GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_7;
150 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
151 GPIO_InitStruct.Pull = GPIO_NOPULL;
152 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
153 GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
154 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
155
156 /* USER CODE BEGIN ETH_MspInit 1 */
157
158 /* USER CODE END ETH_MspInit 1 */
159 }
160
161 }
162
163 /**
164 * @brief ETH MSP De-Initialization
165 * This function freeze the hardware resources used in this example
166 * @param heth: ETH handle pointer
167 * @retval None
168 */
HAL_ETH_MspDeInit(ETH_HandleTypeDef * heth)169 void HAL_ETH_MspDeInit(ETH_HandleTypeDef* heth)
170 {
171 if(heth->Instance==ETH)
172 {
173 /* USER CODE BEGIN ETH_MspDeInit 0 */
174
175 /* USER CODE END ETH_MspDeInit 0 */
176 /* Peripheral clock disable */
177 __HAL_RCC_ETH_CLK_DISABLE();
178
179 /**ETH GPIO Configuration
180 PE2 ------> ETH_TXD3
181 PG14 ------> ETH_TXD1
182 PG13 ------> ETH_TXD0
183 PG11 ------> ETH_TX_EN
184 PH3 ------> ETH_COL
185 PH2 ------> ETH_CRS
186 PC3 ------> ETH_TX_CLK
187 PC1 ------> ETH_MDC
188 PC2 ------> ETH_TXD2
189 PA1 ------> ETH_RX_CLK
190 PC4 ------> ETH_RXD0
191 PH7 ------> ETH_RXD3
192 PA2 ------> ETH_MDIO
193 PC5 ------> ETH_RXD1
194 PH6 ------> ETH_RXD2
195 PA7 ------> ETH_RX_DV
196 */
197 HAL_GPIO_DeInit(GPIOE, GPIO_PIN_2);
198
199 HAL_GPIO_DeInit(GPIOG, GPIO_PIN_14|GPIO_PIN_13|GPIO_PIN_11);
200
201 HAL_GPIO_DeInit(GPIOH, GPIO_PIN_3|GPIO_PIN_2|GPIO_PIN_7|GPIO_PIN_6);
202
203 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_3|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_4
204 |GPIO_PIN_5);
205
206 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_7);
207
208 /* USER CODE BEGIN ETH_MspDeInit 1 */
209
210 /* USER CODE END ETH_MspDeInit 1 */
211 }
212
213 }
214
215 /**
216 * @brief UART MSP Initialization
217 * This function configures the hardware resources used in this example
218 * @param huart: UART handle pointer
219 * @retval None
220 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)221 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
222 {
223 GPIO_InitTypeDef GPIO_InitStruct = {0};
224 if(huart->Instance==UART5)
225 {
226 /* USER CODE BEGIN UART5_MspInit 0 */
227
228 /* USER CODE END UART5_MspInit 0 */
229 /* Peripheral clock enable */
230 __HAL_RCC_UART5_CLK_ENABLE();
231
232 __HAL_RCC_GPIOC_CLK_ENABLE();
233 __HAL_RCC_GPIOD_CLK_ENABLE();
234 /**UART5 GPIO Configuration
235 PC12 ------> UART5_TX
236 PD2 ------> UART5_RX
237 */
238 GPIO_InitStruct.Pin = GPIO_PIN_12;
239 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
240 GPIO_InitStruct.Pull = GPIO_PULLUP;
241 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
242 GPIO_InitStruct.Alternate = GPIO_AF8_UART5;
243 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
244
245 GPIO_InitStruct.Pin = GPIO_PIN_2;
246 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
247 GPIO_InitStruct.Pull = GPIO_PULLUP;
248 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
249 GPIO_InitStruct.Alternate = GPIO_AF8_UART5;
250 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
251
252 /* USER CODE BEGIN UART5_MspInit 1 */
253
254 /* USER CODE END UART5_MspInit 1 */
255 }
256 else if(huart->Instance==USART1)
257 {
258 /* USER CODE BEGIN USART1_MspInit 0 */
259
260 /* USER CODE END USART1_MspInit 0 */
261 /* Peripheral clock enable */
262 __HAL_RCC_USART1_CLK_ENABLE();
263
264 __HAL_RCC_GPIOA_CLK_ENABLE();
265 /**USART1 GPIO Configuration
266 PA10 ------> USART1_RX
267 PA9 ------> USART1_TX
268 */
269 GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_9;
270 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
271 GPIO_InitStruct.Pull = GPIO_PULLUP;
272 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
273 GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
274 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
275
276 /* USER CODE BEGIN USART1_MspInit 1 */
277
278 /* USER CODE END USART1_MspInit 1 */
279 }
280
281 }
282
283 /**
284 * @brief UART MSP De-Initialization
285 * This function freeze the hardware resources used in this example
286 * @param huart: UART handle pointer
287 * @retval None
288 */
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)289 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
290 {
291 if(huart->Instance==UART5)
292 {
293 /* USER CODE BEGIN UART5_MspDeInit 0 */
294
295 /* USER CODE END UART5_MspDeInit 0 */
296 /* Peripheral clock disable */
297 __HAL_RCC_UART5_CLK_DISABLE();
298
299 /**UART5 GPIO Configuration
300 PC12 ------> UART5_TX
301 PD2 ------> UART5_RX
302 */
303 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_12);
304
305 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2);
306
307 /* USER CODE BEGIN UART5_MspDeInit 1 */
308
309 /* USER CODE END UART5_MspDeInit 1 */
310 }
311 else if(huart->Instance==USART1)
312 {
313 /* USER CODE BEGIN USART1_MspDeInit 0 */
314
315 /* USER CODE END USART1_MspDeInit 0 */
316 /* Peripheral clock disable */
317 __HAL_RCC_USART1_CLK_DISABLE();
318
319 /**USART1 GPIO Configuration
320 PA10 ------> USART1_RX
321 PA9 ------> USART1_TX
322 */
323 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_10|GPIO_PIN_9);
324
325 /* USER CODE BEGIN USART1_MspDeInit 1 */
326
327 /* USER CODE END USART1_MspDeInit 1 */
328 }
329
330 }
331
332 /* USER CODE BEGIN 1 */
333
334 /* USER CODE END 1 */
335
336 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
337