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_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