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) 2020 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 LPTIM MSP Initialization 82 * This function configures the hardware resources used in this example 83 * @param hlptim: LPTIM handle pointer 84 * @retval None 85 */ HAL_LPTIM_MspInit(LPTIM_HandleTypeDef * hlptim)86void HAL_LPTIM_MspInit(LPTIM_HandleTypeDef* hlptim) 87 { 88 if(hlptim->Instance==LPTIM1) 89 { 90 /* USER CODE BEGIN LPTIM1_MspInit 0 */ 91 92 /* USER CODE END LPTIM1_MspInit 0 */ 93 /* Peripheral clock enable */ 94 __HAL_RCC_LPTIM1_CLK_ENABLE(); 95 /* USER CODE BEGIN LPTIM1_MspInit 1 */ 96 97 /* USER CODE END LPTIM1_MspInit 1 */ 98 } 99 100 } 101 102 /** 103 * @brief LPTIM MSP De-Initialization 104 * This function freeze the hardware resources used in this example 105 * @param hlptim: LPTIM handle pointer 106 * @retval None 107 */ HAL_LPTIM_MspDeInit(LPTIM_HandleTypeDef * hlptim)108void HAL_LPTIM_MspDeInit(LPTIM_HandleTypeDef* hlptim) 109 { 110 if(hlptim->Instance==LPTIM1) 111 { 112 /* USER CODE BEGIN LPTIM1_MspDeInit 0 */ 113 114 /* USER CODE END LPTIM1_MspDeInit 0 */ 115 /* Peripheral clock disable */ 116 __HAL_RCC_LPTIM1_CLK_DISABLE(); 117 /* USER CODE BEGIN LPTIM1_MspDeInit 1 */ 118 119 /* USER CODE END LPTIM1_MspDeInit 1 */ 120 } 121 122 } 123 124 /** 125 * @brief RTC MSP Initialization 126 * This function configures the hardware resources used in this example 127 * @param hrtc: RTC handle pointer 128 * @retval None 129 */ HAL_RTC_MspInit(RTC_HandleTypeDef * hrtc)130void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc) 131 { 132 if(hrtc->Instance==RTC) 133 { 134 /* USER CODE BEGIN RTC_MspInit 0 */ 135 136 /* USER CODE END RTC_MspInit 0 */ 137 /* Peripheral clock enable */ 138 __HAL_RCC_RTC_ENABLE(); 139 /* USER CODE BEGIN RTC_MspInit 1 */ 140 141 /* USER CODE END RTC_MspInit 1 */ 142 } 143 144 } 145 146 /** 147 * @brief RTC MSP De-Initialization 148 * This function freeze the hardware resources used in this example 149 * @param hrtc: RTC handle pointer 150 * @retval None 151 */ HAL_RTC_MspDeInit(RTC_HandleTypeDef * hrtc)152void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc) 153 { 154 if(hrtc->Instance==RTC) 155 { 156 /* USER CODE BEGIN RTC_MspDeInit 0 */ 157 158 /* USER CODE END RTC_MspDeInit 0 */ 159 /* Peripheral clock disable */ 160 __HAL_RCC_RTC_DISABLE(); 161 /* USER CODE BEGIN RTC_MspDeInit 1 */ 162 163 /* USER CODE END RTC_MspDeInit 1 */ 164 } 165 166 } 167 168 /** 169 * @brief SPI MSP Initialization 170 * This function configures the hardware resources used in this example 171 * @param hspi: SPI handle pointer 172 * @retval None 173 */ HAL_SPI_MspInit(SPI_HandleTypeDef * hspi)174void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi) 175 { 176 GPIO_InitTypeDef GPIO_InitStruct = {0}; 177 if(hspi->Instance==SPI1) 178 { 179 /* USER CODE BEGIN SPI1_MspInit 0 */ 180 181 /* USER CODE END SPI1_MspInit 0 */ 182 /* Peripheral clock enable */ 183 __HAL_RCC_SPI1_CLK_ENABLE(); 184 185 __HAL_RCC_GPIOA_CLK_ENABLE(); 186 /**SPI1 GPIO Configuration 187 PA1 ------> SPI1_SCK 188 PA11 ------> SPI1_MISO 189 PA12 ------> SPI1_MOSI 190 */ 191 GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_11|GPIO_PIN_12; 192 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 193 GPIO_InitStruct.Pull = GPIO_NOPULL; 194 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 195 GPIO_InitStruct.Alternate = GPIO_AF5_SPI1; 196 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 197 198 /* USER CODE BEGIN SPI1_MspInit 1 */ 199 200 /* USER CODE END SPI1_MspInit 1 */ 201 } 202 203 } 204 205 /** 206 * @brief SPI MSP De-Initialization 207 * This function freeze the hardware resources used in this example 208 * @param hspi: SPI handle pointer 209 * @retval None 210 */ HAL_SPI_MspDeInit(SPI_HandleTypeDef * hspi)211void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi) 212 { 213 if(hspi->Instance==SPI1) 214 { 215 /* USER CODE BEGIN SPI1_MspDeInit 0 */ 216 217 /* USER CODE END SPI1_MspDeInit 0 */ 218 /* Peripheral clock disable */ 219 __HAL_RCC_SPI1_CLK_DISABLE(); 220 221 /**SPI1 GPIO Configuration 222 PA1 ------> SPI1_SCK 223 PA11 ------> SPI1_MISO 224 PA12 ------> SPI1_MOSI 225 */ 226 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_11|GPIO_PIN_12); 227 228 /* USER CODE BEGIN SPI1_MspDeInit 1 */ 229 230 /* USER CODE END SPI1_MspDeInit 1 */ 231 } 232 233 } 234 235 /** 236 * @brief TIM_Base MSP Initialization 237 * This function configures the hardware resources used in this example 238 * @param htim_base: TIM_Base handle pointer 239 * @retval None 240 */ HAL_TIM_Base_MspInit(TIM_HandleTypeDef * htim_base)241void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base) 242 { 243 if(htim_base->Instance==TIM2) 244 { 245 /* USER CODE BEGIN TIM2_MspInit 0 */ 246 247 /* USER CODE END TIM2_MspInit 0 */ 248 /* Peripheral clock enable */ 249 __HAL_RCC_TIM2_CLK_ENABLE(); 250 /* USER CODE BEGIN TIM2_MspInit 1 */ 251 252 /* USER CODE END TIM2_MspInit 1 */ 253 } 254 255 } 256 257 /** 258 * @brief TIM_Base MSP De-Initialization 259 * This function freeze the hardware resources used in this example 260 * @param htim_base: TIM_Base handle pointer 261 * @retval None 262 */ HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef * htim_base)263void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base) 264 { 265 if(htim_base->Instance==TIM2) 266 { 267 /* USER CODE BEGIN TIM2_MspDeInit 0 */ 268 269 /* USER CODE END TIM2_MspDeInit 0 */ 270 /* Peripheral clock disable */ 271 __HAL_RCC_TIM2_CLK_DISABLE(); 272 /* USER CODE BEGIN TIM2_MspDeInit 1 */ 273 274 /* USER CODE END TIM2_MspDeInit 1 */ 275 } 276 277 } 278 279 /** 280 * @brief UART MSP Initialization 281 * This function configures the hardware resources used in this example 282 * @param huart: UART handle pointer 283 * @retval None 284 */ HAL_UART_MspInit(UART_HandleTypeDef * huart)285void HAL_UART_MspInit(UART_HandleTypeDef* huart) 286 { 287 GPIO_InitTypeDef GPIO_InitStruct = {0}; 288 if(huart->Instance==USART1) 289 { 290 /* USER CODE BEGIN USART1_MspInit 0 */ 291 292 /* USER CODE END USART1_MspInit 0 */ 293 /* Peripheral clock enable */ 294 __HAL_RCC_USART1_CLK_ENABLE(); 295 296 __HAL_RCC_GPIOA_CLK_ENABLE(); 297 /**USART1 GPIO Configuration 298 PA9 ------> USART1_TX 299 PA10 ------> USART1_RX 300 */ 301 GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10; 302 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 303 GPIO_InitStruct.Pull = GPIO_PULLUP; 304 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 305 GPIO_InitStruct.Alternate = GPIO_AF7_USART1; 306 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 307 308 /* USER CODE BEGIN USART1_MspInit 1 */ 309 310 /* USER CODE END USART1_MspInit 1 */ 311 } 312 else if(huart->Instance==USART2) 313 { 314 /* USER CODE BEGIN USART2_MspInit 0 */ 315 316 /* USER CODE END USART2_MspInit 0 */ 317 /* Peripheral clock enable */ 318 __HAL_RCC_USART2_CLK_ENABLE(); 319 320 __HAL_RCC_GPIOA_CLK_ENABLE(); 321 /**USART2 GPIO Configuration 322 PA2 ------> USART2_TX 323 PA3 ------> USART2_RX 324 */ 325 GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3; 326 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 327 GPIO_InitStruct.Pull = GPIO_PULLUP; 328 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 329 GPIO_InitStruct.Alternate = GPIO_AF7_USART2; 330 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 331 332 /* USER CODE BEGIN USART2_MspInit 1 */ 333 334 /* USER CODE END USART2_MspInit 1 */ 335 } 336 337 } 338 339 /** 340 * @brief UART MSP De-Initialization 341 * This function freeze the hardware resources used in this example 342 * @param huart: UART handle pointer 343 * @retval None 344 */ HAL_UART_MspDeInit(UART_HandleTypeDef * huart)345void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) 346 { 347 if(huart->Instance==USART1) 348 { 349 /* USER CODE BEGIN USART1_MspDeInit 0 */ 350 351 /* USER CODE END USART1_MspDeInit 0 */ 352 /* Peripheral clock disable */ 353 __HAL_RCC_USART1_CLK_DISABLE(); 354 355 /**USART1 GPIO Configuration 356 PA9 ------> USART1_TX 357 PA10 ------> USART1_RX 358 */ 359 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10); 360 361 /* USER CODE BEGIN USART1_MspDeInit 1 */ 362 363 /* USER CODE END USART1_MspDeInit 1 */ 364 } 365 else if(huart->Instance==USART2) 366 { 367 /* USER CODE BEGIN USART2_MspDeInit 0 */ 368 369 /* USER CODE END USART2_MspDeInit 0 */ 370 /* Peripheral clock disable */ 371 __HAL_RCC_USART2_CLK_DISABLE(); 372 373 /**USART2 GPIO Configuration 374 PA2 ------> USART2_TX 375 PA3 ------> USART2_RX 376 */ 377 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3); 378 379 /* USER CODE BEGIN USART2_MspDeInit 1 */ 380 381 /* USER CODE END USART2_MspDeInit 1 */ 382 } 383 384 } 385 386 /* USER CODE BEGIN 1 */ 387 388 /* USER CODE END 1 */ 389 390 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 391