1 /* USER CODE BEGIN Header */ 2 /** 3 ****************************************************************************** 4 * @file stm32l4xx_it.c 5 * @brief Interrupt Service Routines. 6 ****************************************************************************** 7 * @attention 8 * 9 * <h2><center>© Copyright (c) 2020 STMicroelectronics. 10 * All rights reserved.</center></h2> 11 * 12 * This software component is licensed by ST under BSD 3-Clause license, 13 * the "License"; You may not use this file except in compliance with the 14 * License. You may obtain a copy of the License at: 15 * opensource.org/licenses/BSD-3-Clause 16 * 17 ****************************************************************************** 18 */ 19 /* USER CODE END Header */ 20 21 /* Includes ------------------------------------------------------------------*/ 22 #include "main.h" 23 #include "stm32l4xx_it.h" 24 /* Private includes ----------------------------------------------------------*/ 25 /* USER CODE BEGIN Includes */ 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 PD */ 35 36 /* USER CODE END PD */ 37 38 /* Private macro -------------------------------------------------------------*/ 39 /* USER CODE BEGIN PM */ 40 41 /* USER CODE END PM */ 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 /* Private user code ---------------------------------------------------------*/ 54 /* USER CODE BEGIN 0 */ 55 56 /* USER CODE END 0 */ 57 58 /* External variables --------------------------------------------------------*/ 59 extern LPTIM_HandleTypeDef hlptim1; 60 extern DMA_HandleTypeDef hdma_spi2_rx; 61 extern DMA_HandleTypeDef hdma_spi2_tx; 62 extern SPI_HandleTypeDef hspi2; 63 extern TIM_HandleTypeDef htim2; 64 /* USER CODE BEGIN EV */ 65 66 /* USER CODE END EV */ 67 68 /******************************************************************************/ 69 /* Cortex-M4 Processor Interruption and Exception Handlers */ 70 /******************************************************************************/ 71 /** 72 * @brief This function handles Non maskable interrupt. 73 */ 74 void NMI_Handler(void) 75 { 76 /* USER CODE BEGIN NonMaskableInt_IRQn 0 */ 77 78 /* USER CODE END NonMaskableInt_IRQn 0 */ 79 /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ 80 81 /* USER CODE END NonMaskableInt_IRQn 1 */ 82 } 83 84 /** 85 * @brief This function handles Hard fault interrupt. 86 */ 87 void HardFault_Handler(void) 88 { 89 /* USER CODE BEGIN HardFault_IRQn 0 */ 90 91 /* USER CODE END HardFault_IRQn 0 */ 92 while (1) 93 { 94 /* USER CODE BEGIN W1_HardFault_IRQn 0 */ 95 /* USER CODE END W1_HardFault_IRQn 0 */ 96 } 97 } 98 99 /** 100 * @brief This function handles Memory management fault. 101 */ 102 void MemManage_Handler(void) 103 { 104 /* USER CODE BEGIN MemoryManagement_IRQn 0 */ 105 106 /* USER CODE END MemoryManagement_IRQn 0 */ 107 while (1) 108 { 109 /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */ 110 /* USER CODE END W1_MemoryManagement_IRQn 0 */ 111 } 112 } 113 114 /** 115 * @brief This function handles Prefetch fault, memory access fault. 116 */ 117 void BusFault_Handler(void) 118 { 119 /* USER CODE BEGIN BusFault_IRQn 0 */ 120 121 /* USER CODE END BusFault_IRQn 0 */ 122 while (1) 123 { 124 /* USER CODE BEGIN W1_BusFault_IRQn 0 */ 125 /* USER CODE END W1_BusFault_IRQn 0 */ 126 } 127 } 128 129 /** 130 * @brief This function handles Undefined instruction or illegal state. 131 */ 132 void UsageFault_Handler(void) 133 { 134 /* USER CODE BEGIN UsageFault_IRQn 0 */ 135 136 /* USER CODE END UsageFault_IRQn 0 */ 137 while (1) 138 { 139 /* USER CODE BEGIN W1_UsageFault_IRQn 0 */ 140 /* USER CODE END W1_UsageFault_IRQn 0 */ 141 } 142 } 143 144 /** 145 * @brief This function handles System service call via SWI instruction. 146 */ 147 void SVC_Handler(void) 148 { 149 /* USER CODE BEGIN SVCall_IRQn 0 */ 150 151 /* USER CODE END SVCall_IRQn 0 */ 152 /* USER CODE BEGIN SVCall_IRQn 1 */ 153 154 /* USER CODE END SVCall_IRQn 1 */ 155 } 156 157 /** 158 * @brief This function handles Debug monitor. 159 */ 160 void DebugMon_Handler(void) 161 { 162 /* USER CODE BEGIN DebugMonitor_IRQn 0 */ 163 164 /* USER CODE END DebugMonitor_IRQn 0 */ 165 /* USER CODE BEGIN DebugMonitor_IRQn 1 */ 166 167 /* USER CODE END DebugMonitor_IRQn 1 */ 168 } 169 170 /** 171 * @brief This function handles Pendable request for system service. 172 */ 173 void PendSV_Handler(void) 174 { 175 /* USER CODE BEGIN PendSV_IRQn 0 */ 176 177 /* USER CODE END PendSV_IRQn 0 */ 178 /* USER CODE BEGIN PendSV_IRQn 1 */ 179 180 /* USER CODE END PendSV_IRQn 1 */ 181 } 182 183 /** 184 * @brief This function handles System tick timer. 185 */ 186 void SysTick_Handler(void) 187 { 188 /* USER CODE BEGIN SysTick_IRQn 0 */ 189 190 /* USER CODE END SysTick_IRQn 0 */ 191 HAL_IncTick(); 192 /* USER CODE BEGIN SysTick_IRQn 1 */ 193 194 /* USER CODE END SysTick_IRQn 1 */ 195 } 196 197 /******************************************************************************/ 198 /* STM32L4xx Peripheral Interrupt Handlers */ 199 /* Add here the Interrupt Handlers for the used peripherals. */ 200 /* For the available peripheral interrupt handler names, */ 201 /* please refer to the startup file (startup_stm32l4xx.s). */ 202 /******************************************************************************/ 203 204 /** 205 * @brief This function handles EXTI line4 interrupt. 206 */ 207 void EXTI4_IRQHandler(void) 208 { 209 /* USER CODE BEGIN EXTI4_IRQn 0 */ 210 211 /* USER CODE END EXTI4_IRQn 0 */ 212 HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_4); 213 /* USER CODE BEGIN EXTI4_IRQn 1 */ 214 215 /* USER CODE END EXTI4_IRQn 1 */ 216 } 217 218 /** 219 * @brief This function handles DMA1 channel4 global interrupt. 220 */ 221 void DMA1_Channel4_IRQHandler(void) 222 { 223 /* USER CODE BEGIN DMA1_Channel4_IRQn 0 */ 224 225 /* USER CODE END DMA1_Channel4_IRQn 0 */ 226 HAL_DMA_IRQHandler(&hdma_spi2_rx); 227 /* USER CODE BEGIN DMA1_Channel4_IRQn 1 */ 228 229 /* USER CODE END DMA1_Channel4_IRQn 1 */ 230 } 231 232 /** 233 * @brief This function handles DMA1 channel5 global interrupt. 234 */ 235 void DMA1_Channel5_IRQHandler(void) 236 { 237 /* USER CODE BEGIN DMA1_Channel5_IRQn 0 */ 238 239 /* USER CODE END DMA1_Channel5_IRQn 0 */ 240 HAL_DMA_IRQHandler(&hdma_spi2_tx); 241 /* USER CODE BEGIN DMA1_Channel5_IRQn 1 */ 242 243 /* USER CODE END DMA1_Channel5_IRQn 1 */ 244 } 245 246 /** 247 * @brief This function handles EXTI line[9:5] interrupts. 248 */ 249 void EXTI9_5_IRQHandler(void) 250 { 251 /* USER CODE BEGIN EXTI9_5_IRQn 0 */ 252 253 /* USER CODE END EXTI9_5_IRQn 0 */ 254 HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_6); 255 HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_7); 256 /* USER CODE BEGIN EXTI9_5_IRQn 1 */ 257 258 /* USER CODE END EXTI9_5_IRQn 1 */ 259 } 260 261 /** 262 * @brief This function handles TIM2 global interrupt. 263 */ 264 void TIM2_IRQHandler(void) 265 { 266 /* USER CODE BEGIN TIM2_IRQn 0 */ 267 268 /* USER CODE END TIM2_IRQn 0 */ 269 HAL_TIM_IRQHandler(&htim2); 270 /* USER CODE BEGIN TIM2_IRQn 1 */ 271 272 /* USER CODE END TIM2_IRQn 1 */ 273 } 274 275 /** 276 * @brief This function handles SPI2 global interrupt. 277 */ 278 void SPI2_IRQHandler(void) 279 { 280 /* USER CODE BEGIN SPI2_IRQn 0 */ 281 282 /* USER CODE END SPI2_IRQn 0 */ 283 HAL_SPI_IRQHandler(&hspi2); 284 /* USER CODE BEGIN SPI2_IRQn 1 */ 285 286 /* USER CODE END SPI2_IRQn 1 */ 287 } 288 289 /** 290 * @brief This function handles LPTIM1 global interrupt. 291 */ 292 void LPTIM1_IRQHandler(void) 293 { 294 /* USER CODE BEGIN LPTIM1_IRQn 0 */ 295 296 /* USER CODE END LPTIM1_IRQn 0 */ 297 HAL_LPTIM_IRQHandler(&hlptim1); 298 /* USER CODE BEGIN LPTIM1_IRQn 1 */ 299 300 /* USER CODE END LPTIM1_IRQn 1 */ 301 } 302 303 /* USER CODE BEGIN 1 */ 304 305 /* USER CODE END 1 */ 306 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 307