• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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