1 /* USER CODE BEGIN Header */ 2 /** 3 ****************************************************************************** 4 * File Name : stm32l4xx_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 /* USER CODE BEGIN MspInit 1 */ 76 77 /* USER CODE END MspInit 1 */ 78 } 79 80 /** 81 * @brief UART MSP Initialization 82 * This function configures the hardware resources used in this example 83 * @param huart: UART handle pointer 84 * @retval None 85 */ HAL_UART_MspInit(UART_HandleTypeDef * huart)86void HAL_UART_MspInit(UART_HandleTypeDef* huart) 87 { 88 GPIO_InitTypeDef GPIO_InitStruct = {0}; 89 if(huart->Instance==LPUART1) 90 { 91 /* USER CODE BEGIN LPUART1_MspInit 0 */ 92 93 /* USER CODE END LPUART1_MspInit 0 */ 94 /* Peripheral clock enable */ 95 __HAL_RCC_LPUART1_CLK_ENABLE(); 96 97 __HAL_RCC_GPIOG_CLK_ENABLE(); 98 HAL_PWREx_EnableVddIO2(); 99 /**LPUART1 GPIO Configuration 100 PG7 ------> LPUART1_TX 101 PG8 ------> LPUART1_RX 102 */ 103 GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8; 104 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 105 GPIO_InitStruct.Pull = GPIO_PULLUP; 106 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 107 GPIO_InitStruct.Alternate = GPIO_AF8_LPUART1; 108 HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); 109 110 /* USER CODE BEGIN LPUART1_MspInit 1 */ 111 112 /* USER CODE END LPUART1_MspInit 1 */ 113 } 114 else if(huart->Instance==USART3) 115 { 116 /* USER CODE BEGIN USART3_MspInit 0 */ 117 118 /* USER CODE END USART3_MspInit 0 */ 119 /* Peripheral clock enable */ 120 __HAL_RCC_USART3_CLK_ENABLE(); 121 122 __HAL_RCC_GPIOD_CLK_ENABLE(); 123 /**USART3 GPIO Configuration 124 PD8 ------> USART3_TX 125 PD9 ------> USART3_RX 126 */ 127 GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9; 128 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 129 GPIO_InitStruct.Pull = GPIO_PULLUP; 130 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 131 GPIO_InitStruct.Alternate = GPIO_AF7_USART3; 132 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); 133 134 /* USER CODE BEGIN USART3_MspInit 1 */ 135 136 /* USER CODE END USART3_MspInit 1 */ 137 } 138 139 } 140 141 /** 142 * @brief UART MSP De-Initialization 143 * This function freeze the hardware resources used in this example 144 * @param huart: UART handle pointer 145 * @retval None 146 */ HAL_UART_MspDeInit(UART_HandleTypeDef * huart)147void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) 148 { 149 if(huart->Instance==LPUART1) 150 { 151 /* USER CODE BEGIN LPUART1_MspDeInit 0 */ 152 153 /* USER CODE END LPUART1_MspDeInit 0 */ 154 /* Peripheral clock disable */ 155 __HAL_RCC_LPUART1_CLK_DISABLE(); 156 157 /**LPUART1 GPIO Configuration 158 PG7 ------> LPUART1_TX 159 PG8 ------> LPUART1_RX 160 */ 161 HAL_GPIO_DeInit(GPIOG, GPIO_PIN_7|GPIO_PIN_8); 162 163 /* USER CODE BEGIN LPUART1_MspDeInit 1 */ 164 165 /* USER CODE END LPUART1_MspDeInit 1 */ 166 } 167 else if(huart->Instance==USART3) 168 { 169 /* USER CODE BEGIN USART3_MspDeInit 0 */ 170 171 /* USER CODE END USART3_MspDeInit 0 */ 172 /* Peripheral clock disable */ 173 __HAL_RCC_USART3_CLK_DISABLE(); 174 175 /**USART3 GPIO Configuration 176 PD8 ------> USART3_TX 177 PD9 ------> USART3_RX 178 */ 179 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_8|GPIO_PIN_9); 180 181 /* USER CODE BEGIN USART3_MspDeInit 1 */ 182 183 /* USER CODE END USART3_MspDeInit 1 */ 184 } 185 186 } 187 188 /* USER CODE BEGIN 1 */ 189 190 /* USER CODE END 1 */ 191 192 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 193