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>© 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)64void 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)90void 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)198void 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