1 /**
2 ******************************************************************************
3 * @file stm32l4xx_it.c
4 * @brief Interrupt Service Routines.
5 ******************************************************************************
6 *
7 * COPYRIGHT(c) 2018 STMicroelectronics
8 *
9 * Redistribution and use in source and binary forms, with or without modification,
10 * are permitted provided that the following conditions are met:
11 * 1. Redistributions of source code must retain the above copyright notice,
12 * this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright notice,
14 * this list of conditions and the following disclaimer in the documentation
15 * and/or other materials provided with the distribution.
16 * 3. Neither the name of STMicroelectronics nor the names of its contributors
17 * may be used to endorse or promote products derived from this software
18 * without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 *
31 ******************************************************************************
32 */
33 /* Includes ------------------------------------------------------------------*/
34 #include "stm32l4xx_hal.h"
35 #include "stm32l4xx.h"
36 #include "stm32l4xx_it.h"
37
38 /* USER CODE BEGIN 0 */
39
40 /* USER CODE END 0 */
41
42 /* External variables --------------------------------------------------------*/
43 extern PCD_HandleTypeDef hpcd_USB_OTG_FS;
44
45 /******************************************************************************/
46 /* Cortex-M4 Processor Interruption and Exception Handlers */
47 /******************************************************************************/
48
49 /**
50 * @brief This function handles Non maskable interrupt.
51 */
NMI_Handler(void)52 void NMI_Handler(void)
53 {
54 /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
55
56 /* USER CODE END NonMaskableInt_IRQn 0 */
57 /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
58
59 /* USER CODE END NonMaskableInt_IRQn 1 */
60 }
61
62 /**
63 * @brief This function handles Hard fault interrupt.
64 */
HardFault_Handler(void)65 void HardFault_Handler(void)
66 {
67 /* USER CODE BEGIN HardFault_IRQn 0 */
68
69 /* USER CODE END HardFault_IRQn 0 */
70 while (1)
71 {
72 /* USER CODE BEGIN W1_HardFault_IRQn 0 */
73 /* USER CODE END W1_HardFault_IRQn 0 */
74 }
75 /* USER CODE BEGIN HardFault_IRQn 1 */
76
77 /* USER CODE END HardFault_IRQn 1 */
78 }
79
80 /**
81 * @brief This function handles Memory management fault.
82 */
MemManage_Handler(void)83 void MemManage_Handler(void)
84 {
85 /* USER CODE BEGIN MemoryManagement_IRQn 0 */
86
87 /* USER CODE END MemoryManagement_IRQn 0 */
88 while (1)
89 {
90 /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
91 /* USER CODE END W1_MemoryManagement_IRQn 0 */
92 }
93 /* USER CODE BEGIN MemoryManagement_IRQn 1 */
94
95 /* USER CODE END MemoryManagement_IRQn 1 */
96 }
97
98 /**
99 * @brief This function handles Prefetch fault, memory access fault.
100 */
BusFault_Handler(void)101 void BusFault_Handler(void)
102 {
103 /* USER CODE BEGIN BusFault_IRQn 0 */
104
105 /* USER CODE END BusFault_IRQn 0 */
106 while (1)
107 {
108 /* USER CODE BEGIN W1_BusFault_IRQn 0 */
109 /* USER CODE END W1_BusFault_IRQn 0 */
110 }
111 /* USER CODE BEGIN BusFault_IRQn 1 */
112
113 /* USER CODE END BusFault_IRQn 1 */
114 }
115
116 /**
117 * @brief This function handles Undefined instruction or illegal state.
118 */
UsageFault_Handler(void)119 void UsageFault_Handler(void)
120 {
121 /* USER CODE BEGIN UsageFault_IRQn 0 */
122
123 /* USER CODE END UsageFault_IRQn 0 */
124 while (1)
125 {
126 /* USER CODE BEGIN W1_UsageFault_IRQn 0 */
127 /* USER CODE END W1_UsageFault_IRQn 0 */
128 }
129 /* USER CODE BEGIN UsageFault_IRQn 1 */
130
131 /* USER CODE END UsageFault_IRQn 1 */
132 }
133
134 /**
135 * @brief This function handles System service call via SWI instruction.
136 */
SVC_Handler(void)137 void SVC_Handler(void)
138 {
139 /* USER CODE BEGIN SVCall_IRQn 0 */
140
141 /* USER CODE END SVCall_IRQn 0 */
142 /* USER CODE BEGIN SVCall_IRQn 1 */
143
144 /* USER CODE END SVCall_IRQn 1 */
145 }
146
147 /**
148 * @brief This function handles Debug monitor.
149 */
DebugMon_Handler(void)150 void DebugMon_Handler(void)
151 {
152 /* USER CODE BEGIN DebugMonitor_IRQn 0 */
153
154 /* USER CODE END DebugMonitor_IRQn 0 */
155 /* USER CODE BEGIN DebugMonitor_IRQn 1 */
156
157 /* USER CODE END DebugMonitor_IRQn 1 */
158 }
159
160 /**
161 * @brief This function handles Pendable request for system service.
162 */
PendSV_Handler(void)163 void PendSV_Handler(void)
164 {
165 /* USER CODE BEGIN PendSV_IRQn 0 */
166
167 /* USER CODE END PendSV_IRQn 0 */
168 /* USER CODE BEGIN PendSV_IRQn 1 */
169
170 /* USER CODE END PendSV_IRQn 1 */
171 }
172
173 /**
174 * @brief This function handles System tick timer.
175 */
SysTick_Handler(void)176 void SysTick_Handler(void)
177 {
178 /* USER CODE BEGIN SysTick_IRQn 0 */
179
180 /* USER CODE END SysTick_IRQn 0 */
181 HAL_IncTick();
182 HAL_SYSTICK_IRQHandler();
183 /* USER CODE BEGIN SysTick_IRQn 1 */
184
185 /* USER CODE END SysTick_IRQn 1 */
186 }
187
188 /******************************************************************************/
189 /* STM32L4xx Peripheral Interrupt Handlers */
190 /* Add here the Interrupt Handlers for the used peripherals. */
191 /* For the available peripheral interrupt handler names, */
192 /* please refer to the startup file (startup_stm32l4xx.s). */
193 /******************************************************************************/
194
195 /**
196 * @brief This function handles USB OTG FS global interrupt.
197 */
OTG_FS_IRQHandler(void)198 void OTG_FS_IRQHandler(void)
199 {
200 /* USER CODE BEGIN OTG_FS_IRQn 0 */
201
202 /* USER CODE END OTG_FS_IRQn 0 */
203 HAL_PCD_IRQHandler(&hpcd_USB_OTG_FS);
204 /* USER CODE BEGIN OTG_FS_IRQn 1 */
205
206 /* USER CODE END OTG_FS_IRQn 1 */
207 }
208
209 /* USER CODE BEGIN 1 */
210
211 /* USER CODE END 1 */
212 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
213