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 SPI MSP Initialization 82 * This function configures the hardware resources used in this example 83 * @param hspi: SPI handle pointer 84 * @retval None 85 */ HAL_SPI_MspInit(SPI_HandleTypeDef * hspi)86void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi) 87 { 88 GPIO_InitTypeDef GPIO_InitStruct = {0}; 89 if(hspi->Instance==SPI1) 90 { 91 /* USER CODE BEGIN SPI1_MspInit 0 */ 92 93 /* USER CODE END SPI1_MspInit 0 */ 94 /* Peripheral clock enable */ 95 __HAL_RCC_SPI1_CLK_ENABLE(); 96 97 __HAL_RCC_GPIOA_CLK_ENABLE(); 98 /**SPI1 GPIO Configuration 99 PA1 ------> SPI1_SCK 100 PA6 ------> SPI1_MISO 101 PA7 ------> SPI1_MOSI 102 */ 103 GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_6|GPIO_PIN_7; 104 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 105 GPIO_InitStruct.Pull = GPIO_NOPULL; 106 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 107 GPIO_InitStruct.Alternate = GPIO_AF5_SPI1; 108 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 109 110 /* USER CODE BEGIN SPI1_MspInit 1 */ 111 112 /* USER CODE END SPI1_MspInit 1 */ 113 } 114 115 } 116 117 /** 118 * @brief SPI MSP De-Initialization 119 * This function freeze the hardware resources used in this example 120 * @param hspi: SPI handle pointer 121 * @retval None 122 */ HAL_SPI_MspDeInit(SPI_HandleTypeDef * hspi)123void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi) 124 { 125 if(hspi->Instance==SPI1) 126 { 127 /* USER CODE BEGIN SPI1_MspDeInit 0 */ 128 129 /* USER CODE END SPI1_MspDeInit 0 */ 130 /* Peripheral clock disable */ 131 __HAL_RCC_SPI1_CLK_DISABLE(); 132 133 /**SPI1 GPIO Configuration 134 PA1 ------> SPI1_SCK 135 PA6 ------> SPI1_MISO 136 PA7 ------> SPI1_MOSI 137 */ 138 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_6|GPIO_PIN_7); 139 140 /* USER CODE BEGIN SPI1_MspDeInit 1 */ 141 142 /* USER CODE END SPI1_MspDeInit 1 */ 143 } 144 145 } 146 147 /** 148 * @brief UART MSP Initialization 149 * This function configures the hardware resources used in this example 150 * @param huart: UART handle pointer 151 * @retval None 152 */ HAL_UART_MspInit(UART_HandleTypeDef * huart)153void HAL_UART_MspInit(UART_HandleTypeDef* huart) 154 { 155 GPIO_InitTypeDef GPIO_InitStruct = {0}; 156 if(huart->Instance==USART1) 157 { 158 /* USER CODE BEGIN USART1_MspInit 0 */ 159 160 /* USER CODE END USART1_MspInit 0 */ 161 /* Peripheral clock enable */ 162 __HAL_RCC_USART1_CLK_ENABLE(); 163 164 __HAL_RCC_GPIOA_CLK_ENABLE(); 165 /**USART1 GPIO Configuration 166 PA9 ------> USART1_TX 167 PA10 ------> USART1_RX 168 */ 169 GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10; 170 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 171 GPIO_InitStruct.Pull = GPIO_PULLUP; 172 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 173 GPIO_InitStruct.Alternate = GPIO_AF7_USART1; 174 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 175 176 /* USER CODE BEGIN USART1_MspInit 1 */ 177 178 /* USER CODE END USART1_MspInit 1 */ 179 } 180 else if(huart->Instance==USART2) 181 { 182 /* USER CODE BEGIN USART2_MspInit 0 */ 183 184 /* USER CODE END USART2_MspInit 0 */ 185 /* Peripheral clock enable */ 186 __HAL_RCC_USART2_CLK_ENABLE(); 187 188 __HAL_RCC_GPIOA_CLK_ENABLE(); 189 /**USART2 GPIO Configuration 190 PA2 ------> USART2_TX 191 PA3 ------> USART2_RX 192 */ 193 GPIO_InitStruct.Pin = USART_TX_Pin|USART_RX_Pin; 194 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 195 GPIO_InitStruct.Pull = GPIO_PULLUP; 196 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 197 GPIO_InitStruct.Alternate = GPIO_AF7_USART2; 198 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 199 200 /* USER CODE BEGIN USART2_MspInit 1 */ 201 202 /* USER CODE END USART2_MspInit 1 */ 203 } 204 205 } 206 207 /** 208 * @brief UART MSP De-Initialization 209 * This function freeze the hardware resources used in this example 210 * @param huart: UART handle pointer 211 * @retval None 212 */ HAL_UART_MspDeInit(UART_HandleTypeDef * huart)213void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) 214 { 215 if(huart->Instance==USART1) 216 { 217 /* USER CODE BEGIN USART1_MspDeInit 0 */ 218 219 /* USER CODE END USART1_MspDeInit 0 */ 220 /* Peripheral clock disable */ 221 __HAL_RCC_USART1_CLK_DISABLE(); 222 223 /**USART1 GPIO Configuration 224 PA9 ------> USART1_TX 225 PA10 ------> USART1_RX 226 */ 227 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10); 228 229 /* USER CODE BEGIN USART1_MspDeInit 1 */ 230 231 /* USER CODE END USART1_MspDeInit 1 */ 232 } 233 else if(huart->Instance==USART2) 234 { 235 /* USER CODE BEGIN USART2_MspDeInit 0 */ 236 237 /* USER CODE END USART2_MspDeInit 0 */ 238 /* Peripheral clock disable */ 239 __HAL_RCC_USART2_CLK_DISABLE(); 240 241 /**USART2 GPIO Configuration 242 PA2 ------> USART2_TX 243 PA3 ------> USART2_RX 244 */ 245 HAL_GPIO_DeInit(GPIOA, USART_TX_Pin|USART_RX_Pin); 246 247 /* USER CODE BEGIN USART2_MspDeInit 1 */ 248 249 /* USER CODE END USART2_MspDeInit 1 */ 250 } 251 252 } 253 254 /* USER CODE BEGIN 1 */ 255 256 /* USER CODE END 1 */ 257 258 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 259