1 /* USER CODE BEGIN Header */
2 /**
3   ******************************************************************************
4   * File Name          : stm32g4xx_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) 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_SYSCFG_CLK_ENABLE();
71   __HAL_RCC_PWR_CLK_ENABLE();
72 
73   /* System interrupt init*/
74 
75   /** Disable the internal Pull-Up in Dead Battery pins of UCPD peripheral
76   */
77   LL_PWR_DisableDeadBatteryPD();
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==LPUART1)
94   {
95   /* USER CODE BEGIN LPUART1_MspInit 0 */
96 
97   /* USER CODE END LPUART1_MspInit 0 */
98     /* Peripheral clock enable */
99     __HAL_RCC_LPUART1_CLK_ENABLE();
100 
101     __HAL_RCC_GPIOA_CLK_ENABLE();
102     /**LPUART1 GPIO Configuration
103     PA2     ------> LPUART1_TX
104     PA3     ------> LPUART1_RX
105     */
106     GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
107     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
108     GPIO_InitStruct.Pull = GPIO_PULLUP;
109     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
110     GPIO_InitStruct.Alternate = GPIO_AF12_LPUART1;
111     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
112 
113   /* USER CODE BEGIN LPUART1_MspInit 1 */
114 
115   /* USER CODE END LPUART1_MspInit 1 */
116   }
117   else if(huart->Instance==UART4)
118   {
119   /* USER CODE BEGIN UART4_MspInit 0 */
120 
121   /* USER CODE END UART4_MspInit 0 */
122     /* Peripheral clock enable */
123     __HAL_RCC_UART4_CLK_ENABLE();
124 
125     __HAL_RCC_GPIOC_CLK_ENABLE();
126     /**UART4 GPIO Configuration
127     PC10     ------> UART4_TX
128     PC11     ------> UART4_RX
129     */
130     GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
131     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
132     GPIO_InitStruct.Pull = GPIO_PULLUP;
133     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
134     GPIO_InitStruct.Alternate = GPIO_AF5_UART4;
135     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
136 
137   /* USER CODE BEGIN UART4_MspInit 1 */
138 
139   /* USER CODE END UART4_MspInit 1 */
140   }
141   else if(huart->Instance==USART1)
142   {
143   /* USER CODE BEGIN USART1_MspInit 0 */
144 
145   /* USER CODE END USART1_MspInit 0 */
146     /* Peripheral clock enable */
147     __HAL_RCC_USART1_CLK_ENABLE();
148 
149     __HAL_RCC_GPIOC_CLK_ENABLE();
150     /**USART1 GPIO Configuration
151     PC4     ------> USART1_TX
152     PC5     ------> USART1_RX
153     */
154     GPIO_InitStruct.Pin = USART1_TX_Pin|USART1_RX_Pin;
155     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
156     GPIO_InitStruct.Pull = GPIO_PULLUP;
157     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
158     GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
159     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
160 
161   /* USER CODE BEGIN USART1_MspInit 1 */
162 
163   /* USER CODE END USART1_MspInit 1 */
164   }
165   else if(huart->Instance==USART3)
166   {
167   /* USER CODE BEGIN USART3_MspInit 0 */
168 
169   /* USER CODE END USART3_MspInit 0 */
170     /* Peripheral clock enable */
171     __HAL_RCC_USART3_CLK_ENABLE();
172 
173     __HAL_RCC_GPIOB_CLK_ENABLE();
174     /**USART3 GPIO Configuration
175     PB10     ------> USART3_TX
176     PB11     ------> USART3_RX
177     */
178     GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
179     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
180     GPIO_InitStruct.Pull = GPIO_PULLUP;
181     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
182     GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
183     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
184 
185   /* USER CODE BEGIN USART3_MspInit 1 */
186 
187   /* USER CODE END USART3_MspInit 1 */
188   }
189 
190 }
191 
192 /**
193 * @brief UART MSP De-Initialization
194 * This function freeze the hardware resources used in this example
195 * @param huart: UART handle pointer
196 * @retval None
197 */
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)198 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
199 {
200   if(huart->Instance==LPUART1)
201   {
202   /* USER CODE BEGIN LPUART1_MspDeInit 0 */
203 
204   /* USER CODE END LPUART1_MspDeInit 0 */
205     /* Peripheral clock disable */
206     __HAL_RCC_LPUART1_CLK_DISABLE();
207 
208     /**LPUART1 GPIO Configuration
209     PA2     ------> LPUART1_TX
210     PA3     ------> LPUART1_RX
211     */
212     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
213 
214   /* USER CODE BEGIN LPUART1_MspDeInit 1 */
215 
216   /* USER CODE END LPUART1_MspDeInit 1 */
217   }
218   else if(huart->Instance==UART4)
219   {
220   /* USER CODE BEGIN UART4_MspDeInit 0 */
221 
222   /* USER CODE END UART4_MspDeInit 0 */
223     /* Peripheral clock disable */
224     __HAL_RCC_UART4_CLK_DISABLE();
225 
226     /**UART4 GPIO Configuration
227     PC10     ------> UART4_TX
228     PC11     ------> UART4_RX
229     */
230     HAL_GPIO_DeInit(GPIOC, GPIO_PIN_10|GPIO_PIN_11);
231 
232   /* USER CODE BEGIN UART4_MspDeInit 1 */
233 
234   /* USER CODE END UART4_MspDeInit 1 */
235   }
236   else if(huart->Instance==USART1)
237   {
238   /* USER CODE BEGIN USART1_MspDeInit 0 */
239 
240   /* USER CODE END USART1_MspDeInit 0 */
241     /* Peripheral clock disable */
242     __HAL_RCC_USART1_CLK_DISABLE();
243 
244     /**USART1 GPIO Configuration
245     PC4     ------> USART1_TX
246     PC5     ------> USART1_RX
247     */
248     HAL_GPIO_DeInit(GPIOC, USART1_TX_Pin|USART1_RX_Pin);
249 
250   /* USER CODE BEGIN USART1_MspDeInit 1 */
251 
252   /* USER CODE END USART1_MspDeInit 1 */
253   }
254   else if(huart->Instance==USART3)
255   {
256   /* USER CODE BEGIN USART3_MspDeInit 0 */
257 
258   /* USER CODE END USART3_MspDeInit 0 */
259     /* Peripheral clock disable */
260     __HAL_RCC_USART3_CLK_DISABLE();
261 
262     /**USART3 GPIO Configuration
263     PB10     ------> USART3_TX
264     PB11     ------> USART3_RX
265     */
266     HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11);
267 
268   /* USER CODE BEGIN USART3_MspDeInit 1 */
269 
270   /* USER CODE END USART3_MspDeInit 1 */
271   }
272 
273 }
274 
275 /* USER CODE BEGIN 1 */
276 
277 /* USER CODE END 1 */
278 
279 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
280