xref: /btstack/port/stm32-l476rg-nucleo-sx1280/Src/stm32l4xx_it.c (revision 6b8177c56d8d42c688f52897394f8b5eac7ee972)
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_spi1_rx;
61 extern DMA_HandleTypeDef hdma_spi1_tx;
62 /* USER CODE BEGIN EV */
63 
64 /* USER CODE END EV */
65 
66 /******************************************************************************/
67 /*           Cortex-M4 Processor Interruption and Exception Handlers          */
68 /******************************************************************************/
69 /**
70   * @brief This function handles Non maskable interrupt.
71   */
NMI_Handler(void)72 void NMI_Handler(void)
73 {
74   /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
75 
76   /* USER CODE END NonMaskableInt_IRQn 0 */
77   /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
78 
79   /* USER CODE END NonMaskableInt_IRQn 1 */
80 }
81 
82 /**
83   * @brief This function handles Hard fault interrupt.
84   */
HardFault_Handler(void)85 void HardFault_Handler(void)
86 {
87   /* USER CODE BEGIN HardFault_IRQn 0 */
88 
89   /* USER CODE END HardFault_IRQn 0 */
90   while (1)
91   {
92     /* USER CODE BEGIN W1_HardFault_IRQn 0 */
93     /* USER CODE END W1_HardFault_IRQn 0 */
94   }
95 }
96 
97 /**
98   * @brief This function handles Memory management fault.
99   */
MemManage_Handler(void)100 void MemManage_Handler(void)
101 {
102   /* USER CODE BEGIN MemoryManagement_IRQn 0 */
103 
104   /* USER CODE END MemoryManagement_IRQn 0 */
105   while (1)
106   {
107     /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
108     /* USER CODE END W1_MemoryManagement_IRQn 0 */
109   }
110 }
111 
112 /**
113   * @brief This function handles Prefetch fault, memory access fault.
114   */
BusFault_Handler(void)115 void BusFault_Handler(void)
116 {
117   /* USER CODE BEGIN BusFault_IRQn 0 */
118 
119   /* USER CODE END BusFault_IRQn 0 */
120   while (1)
121   {
122     /* USER CODE BEGIN W1_BusFault_IRQn 0 */
123     /* USER CODE END W1_BusFault_IRQn 0 */
124   }
125 }
126 
127 /**
128   * @brief This function handles Undefined instruction or illegal state.
129   */
UsageFault_Handler(void)130 void UsageFault_Handler(void)
131 {
132   /* USER CODE BEGIN UsageFault_IRQn 0 */
133 
134   /* USER CODE END UsageFault_IRQn 0 */
135   while (1)
136   {
137     /* USER CODE BEGIN W1_UsageFault_IRQn 0 */
138     /* USER CODE END W1_UsageFault_IRQn 0 */
139   }
140 }
141 
142 /**
143   * @brief This function handles System service call via SWI instruction.
144   */
SVC_Handler(void)145 void SVC_Handler(void)
146 {
147   /* USER CODE BEGIN SVCall_IRQn 0 */
148 
149   /* USER CODE END SVCall_IRQn 0 */
150   /* USER CODE BEGIN SVCall_IRQn 1 */
151 
152   /* USER CODE END SVCall_IRQn 1 */
153 }
154 
155 /**
156   * @brief This function handles Debug monitor.
157   */
DebugMon_Handler(void)158 void DebugMon_Handler(void)
159 {
160   /* USER CODE BEGIN DebugMonitor_IRQn 0 */
161 
162   /* USER CODE END DebugMonitor_IRQn 0 */
163   /* USER CODE BEGIN DebugMonitor_IRQn 1 */
164 
165   /* USER CODE END DebugMonitor_IRQn 1 */
166 }
167 
168 /**
169   * @brief This function handles Pendable request for system service.
170   */
PendSV_Handler(void)171 void PendSV_Handler(void)
172 {
173   /* USER CODE BEGIN PendSV_IRQn 0 */
174 
175   /* USER CODE END PendSV_IRQn 0 */
176   /* USER CODE BEGIN PendSV_IRQn 1 */
177 
178   /* USER CODE END PendSV_IRQn 1 */
179 }
180 
181 /**
182   * @brief This function handles System tick timer.
183   */
SysTick_Handler(void)184 void SysTick_Handler(void)
185 {
186   /* USER CODE BEGIN SysTick_IRQn 0 */
187 
188   /* USER CODE END SysTick_IRQn 0 */
189   HAL_IncTick();
190   /* USER CODE BEGIN SysTick_IRQn 1 */
191 
192   /* USER CODE END SysTick_IRQn 1 */
193 }
194 
195 /******************************************************************************/
196 /* STM32L4xx Peripheral Interrupt Handlers                                    */
197 /* Add here the Interrupt Handlers for the used peripherals.                  */
198 /* For the available peripheral interrupt handler names,                      */
199 /* please refer to the startup file (startup_stm32l4xx.s).                    */
200 /******************************************************************************/
201 
202 /**
203   * @brief This function handles EXTI line4 interrupt.
204   */
EXTI4_IRQHandler(void)205 void EXTI4_IRQHandler(void)
206 {
207   /* USER CODE BEGIN EXTI4_IRQn 0 */
208 
209   /* USER CODE END EXTI4_IRQn 0 */
210   HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_4);
211   /* USER CODE BEGIN EXTI4_IRQn 1 */
212 
213   /* USER CODE END EXTI4_IRQn 1 */
214 }
215 
216 /**
217   * @brief This function handles DMA1 channel2 global interrupt.
218   */
DMA1_Channel2_IRQHandler(void)219 void DMA1_Channel2_IRQHandler(void)
220 {
221   /* USER CODE BEGIN DMA1_Channel2_IRQn 0 */
222 
223   /* USER CODE END DMA1_Channel2_IRQn 0 */
224   HAL_DMA_IRQHandler(&hdma_spi1_rx);
225   /* USER CODE BEGIN DMA1_Channel2_IRQn 1 */
226 
227   /* USER CODE END DMA1_Channel2_IRQn 1 */
228 }
229 
230 /**
231   * @brief This function handles DMA1 channel3 global interrupt.
232   */
DMA1_Channel3_IRQHandler(void)233 void DMA1_Channel3_IRQHandler(void)
234 {
235   /* USER CODE BEGIN DMA1_Channel3_IRQn 0 */
236 
237   /* USER CODE END DMA1_Channel3_IRQn 0 */
238   HAL_DMA_IRQHandler(&hdma_spi1_tx);
239   /* USER CODE BEGIN DMA1_Channel3_IRQn 1 */
240 
241   /* USER CODE END DMA1_Channel3_IRQn 1 */
242 }
243 
244 /**
245   * @brief This function handles LPTIM1 global interrupt.
246   */
LPTIM1_IRQHandler(void)247 void LPTIM1_IRQHandler(void)
248 {
249   /* USER CODE BEGIN LPTIM1_IRQn 0 */
250 
251   /* USER CODE END LPTIM1_IRQn 0 */
252   HAL_LPTIM_IRQHandler(&hlptim1);
253   /* USER CODE BEGIN LPTIM1_IRQn 1 */
254 
255   /* USER CODE END LPTIM1_IRQn 1 */
256 }
257 
258 /* USER CODE BEGIN 1 */
259 
260 /* USER CODE END 1 */
261 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
262