xref: /btstack/port/stm32-l451-miromico-sx1280/Src/stm32l4xx_it.c (revision 2fd737d36a1de5d778cacc671d4b4d8c4f3fed82)
1 /* USER CODE BEGIN Header */
2 /**
3   ******************************************************************************
4   * @file    stm32l4xx_it.c
5   * @brief   Interrupt Service Routines.
6   ******************************************************************************
7   * @attention
8   *
9   * <h2><center>&copy; 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   */
NMI_Handler(void)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   */
HardFault_Handler(void)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   */
MemManage_Handler(void)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   */
BusFault_Handler(void)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   */
UsageFault_Handler(void)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   */
SVC_Handler(void)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   */
DebugMon_Handler(void)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   */
PendSV_Handler(void)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   */
SysTick_Handler(void)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   */
EXTI4_IRQHandler(void)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   */
DMA1_Channel4_IRQHandler(void)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   */
DMA1_Channel5_IRQHandler(void)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   */
EXTI9_5_IRQHandler(void)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   */
TIM2_IRQHandler(void)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   */
SPI2_IRQHandler(void)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   */
LPTIM1_IRQHandler(void)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