1 /* USER CODE BEGIN Header */ 2 /** 3 ****************************************************************************** 4 * @file stm32f3xx_hal_msp.c 5 * @brief This file provides code for the MSP Initialization 6 * and de-Initialization codes. 7 ****************************************************************************** 8 * @attention 9 * 10 * <h2><center>© Copyright (c) 2021 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 */ 86 87 void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); 88 HAL_TIM_Base_MspInit(TIM_HandleTypeDef * htim_base)89void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base) 90 { 91 if(htim_base->Instance==TIM1) 92 { 93 /* USER CODE BEGIN TIM1_MspInit 0 */ 94 95 /* USER CODE END TIM1_MspInit 0 */ 96 /* Peripheral clock enable */ 97 __HAL_RCC_TIM1_CLK_ENABLE(); 98 /* USER CODE BEGIN TIM1_MspInit 1 */ 99 100 /* USER CODE END TIM1_MspInit 1 */ 101 } 102 } 103 HAL_TIM_MspPostInit(TIM_HandleTypeDef * htim)104void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim) 105 { 106 GPIO_InitTypeDef GPIO_InitStruct = {0}; 107 if(htim->Instance==TIM1) 108 { 109 /* USER CODE BEGIN TIM1_MspPostInit 0 */ 110 111 /* USER CODE END TIM1_MspPostInit 0 */ 112 __HAL_RCC_GPIOC_CLK_ENABLE(); 113 __HAL_RCC_GPIOB_CLK_ENABLE(); 114 /**TIM1 GPIO Configuration 115 PC0 ------> TIM1_CH1 116 PB13 ------> TIM1_CH1N 117 */ 118 GPIO_InitStruct.Pin = GPIO_PIN_0; 119 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 120 GPIO_InitStruct.Pull = GPIO_NOPULL; 121 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 122 GPIO_InitStruct.Alternate = GPIO_AF2_TIM1; 123 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 124 125 GPIO_InitStruct.Pin = GPIO_PIN_13; 126 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 127 GPIO_InitStruct.Pull = GPIO_NOPULL; 128 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 129 GPIO_InitStruct.Alternate = GPIO_AF6_TIM1; 130 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 131 132 /* USER CODE BEGIN TIM1_MspPostInit 1 */ 133 134 /* USER CODE END TIM1_MspPostInit 1 */ 135 } 136 137 } 138 /** 139 * @brief TIM_Base MSP De-Initialization 140 * This function freeze the hardware resources used in this example 141 * @param htim_base: TIM_Base handle pointer 142 * @retval None 143 */ HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef * htim_base)144void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base) 145 { 146 if(htim_base->Instance==TIM1) 147 { 148 /* USER CODE BEGIN TIM1_MspDeInit 0 */ 149 150 /* USER CODE END TIM1_MspDeInit 0 */ 151 /* Peripheral clock disable */ 152 __HAL_RCC_TIM1_CLK_DISABLE(); 153 /* USER CODE BEGIN TIM1_MspDeInit 1 */ 154 155 /* USER CODE END TIM1_MspDeInit 1 */ 156 } 157 158 } 159 HAL_UART_MspInit(UART_HandleTypeDef * huart)160void HAL_UART_MspInit(UART_HandleTypeDef* huart) 161 { 162 GPIO_InitTypeDef GPIO_InitStruct = {0}; 163 if(huart->Instance==USART1) 164 { 165 /* USER CODE BEGIN USART1_MspInit 0 */ 166 167 /* USER CODE END USART1_MspInit 0 */ 168 /* Peripheral clock enable */ 169 __HAL_RCC_USART1_CLK_ENABLE(); 170 171 __HAL_RCC_GPIOC_CLK_ENABLE(); 172 /**USART1 GPIO Configuration 173 PC4 ------> USART1_TX 174 PC5 ------> USART1_RX 175 */ 176 GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5; 177 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 178 GPIO_InitStruct.Pull = GPIO_NOPULL; 179 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 180 GPIO_InitStruct.Alternate = GPIO_AF7_USART1; 181 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 182 183 /* USER CODE BEGIN USART1_MspInit 1 */ 184 185 /* USER CODE END USART1_MspInit 1 */ 186 } 187 188 if(huart->Instance==USART2) 189 { 190 /* USER CODE BEGIN USART2_MspInit 0 */ 191 192 /* USER CODE END USART2_MspInit 0 */ 193 /* Peripheral clock enable */ 194 __HAL_RCC_USART2_CLK_ENABLE(); 195 196 __HAL_RCC_GPIOA_CLK_ENABLE(); 197 /**USART2 GPIO Configuration 198 PA2 ------> USART2_TX 199 PA3 ------> USART2_RX 200 */ 201 GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3; 202 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 203 GPIO_InitStruct.Pull = GPIO_NOPULL; 204 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 205 GPIO_InitStruct.Alternate = GPIO_AF7_USART2; 206 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 207 208 /* USER CODE BEGIN USART2_MspInit 1 */ 209 210 /* USER CODE END USART2_MspInit 1 */ 211 } 212 213 if(huart->Instance==USART3) 214 { 215 /* USER CODE BEGIN USART3_MspInit 0 */ 216 217 /* USER CODE END USART3_MspInit 0 */ 218 /* Peripheral clock enable */ 219 __HAL_RCC_USART3_CLK_ENABLE(); 220 221 __HAL_RCC_GPIOB_CLK_ENABLE(); 222 /**USART3 GPIO Configuration 223 PB10 ------> USART2_TX 224 PB11 ------> USART2_RX 225 */ 226 GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11; 227 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 228 GPIO_InitStruct.Pull = GPIO_NOPULL; 229 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 230 GPIO_InitStruct.Alternate = GPIO_AF7_USART3; 231 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 232 233 /* USER CODE BEGIN USART3_MspInit 1 */ 234 235 /* USER CODE END USART3_MspInit 1 */ 236 } 237 } 238 239 /** 240 * @brief UART MSP De-Initialization 241 * This function freeze the hardware resources used in this example 242 * @param huart: UART handle pointer 243 * @retval None 244 */ 245 HAL_UART_MspDeInit(UART_HandleTypeDef * huart)246void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) 247 { 248 if(huart->Instance==USART1) 249 { 250 /* USER CODE BEGIN USART1_MspDeInit 0 */ 251 252 /* USER CODE END USART1_MspDeInit 0 */ 253 /* Peripheral clock disable */ 254 __HAL_RCC_USART1_CLK_DISABLE(); 255 256 /**USART1 GPIO Configuration 257 PC4 ------> USART1_TX 258 PC5 ------> USART1_RX 259 */ 260 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_4|GPIO_PIN_5); 261 262 /* USER CODE BEGIN USART1_MspDeInit 1 */ 263 264 /* USER CODE END USART1_MspDeInit 1 */ 265 } 266 if(huart->Instance==USART2) 267 { 268 /* USER CODE BEGIN USART2_MspDeInit 0 */ 269 270 /* USER CODE END USART2_MspDeInit 0 */ 271 /* Peripheral clock disable */ 272 __HAL_RCC_USART2_CLK_DISABLE(); 273 274 /**USART2 GPIO Configuration 275 PA2 ------> USART2_TX 276 PA3 ------> USART2_RX 277 */ 278 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3); 279 280 /* USER CODE BEGIN USART2_MspDeInit 1 */ 281 282 /* USER CODE END USART2_MspDeInit 1 */ 283 } 284 if(huart->Instance==USART3) 285 { 286 /* USER CODE BEGIN USART3_MspDeInit 0 */ 287 288 /* USER CODE END USART3_MspDeInit 0 */ 289 /* Peripheral clock disable */ 290 __HAL_RCC_USART3_CLK_DISABLE(); 291 292 /**USART1 GPIO Configuration 293 PB10 ------> USART3_TX 294 PB11 ------> USART3_RX 295 */ 296 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11); 297 298 /* USER CODE BEGIN USART3_MspDeInit 1 */ 299 300 /* USER CODE END USART3_MspDeInit 1 */ 301 } 302 303 } 304 305 /* USER CODE BEGIN 1 */ 306 307 /* USER CODE END 1 */ 308 309 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 310