2 ******************************************************************************
4 * @brief Interrupt Service Routines.
5 ******************************************************************************
7 * COPYRIGHT(c) 2018 STMicroelectronics
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.
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.
31 ******************************************************************************
33 /* Includes ------------------------------------------------------------------*/
34 #include "stm32f1xx_hal.h"
35 #include "stm32f1xx.h"
36 #include "stm32f1xx_it.h"
38 /* USER CODE BEGIN 0 */
42 /* External variables --------------------------------------------------------*/
43 extern PCD_HandleTypeDef hpcd_USB_FS;
45 /******************************************************************************/
46 /* Cortex-M3 Processor Interruption and Exception Handlers */
47 /******************************************************************************/
50 * @brief This function handles Non maskable interrupt.
52 void NMI_Handler(void)
54 /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
56 /* USER CODE END NonMaskableInt_IRQn 0 */
57 /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
59 /* USER CODE END NonMaskableInt_IRQn 1 */
63 * @brief This function handles Hard fault interrupt.
65 void HardFault_Handler(void)
67 /* USER CODE BEGIN HardFault_IRQn 0 */
69 /* USER CODE END HardFault_IRQn 0 */
72 /* USER CODE BEGIN W1_HardFault_IRQn 0 */
73 /* USER CODE END W1_HardFault_IRQn 0 */
75 /* USER CODE BEGIN HardFault_IRQn 1 */
77 /* USER CODE END HardFault_IRQn 1 */
81 * @brief This function handles Memory management fault.
83 void MemManage_Handler(void)
85 /* USER CODE BEGIN MemoryManagement_IRQn 0 */
87 /* USER CODE END MemoryManagement_IRQn 0 */
90 /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
91 /* USER CODE END W1_MemoryManagement_IRQn 0 */
93 /* USER CODE BEGIN MemoryManagement_IRQn 1 */
95 /* USER CODE END MemoryManagement_IRQn 1 */
99 * @brief This function handles Prefetch fault, memory access fault.
101 void BusFault_Handler(void)
103 /* USER CODE BEGIN BusFault_IRQn 0 */
105 /* USER CODE END BusFault_IRQn 0 */
108 /* USER CODE BEGIN W1_BusFault_IRQn 0 */
109 /* USER CODE END W1_BusFault_IRQn 0 */
111 /* USER CODE BEGIN BusFault_IRQn 1 */
113 /* USER CODE END BusFault_IRQn 1 */
117 * @brief This function handles Undefined instruction or illegal state.
119 void UsageFault_Handler(void)
121 /* USER CODE BEGIN UsageFault_IRQn 0 */
123 /* USER CODE END UsageFault_IRQn 0 */
126 /* USER CODE BEGIN W1_UsageFault_IRQn 0 */
127 /* USER CODE END W1_UsageFault_IRQn 0 */
129 /* USER CODE BEGIN UsageFault_IRQn 1 */
131 /* USER CODE END UsageFault_IRQn 1 */
135 * @brief This function handles System service call via SWI instruction.
137 void SVC_Handler(void)
139 /* USER CODE BEGIN SVCall_IRQn 0 */
141 /* USER CODE END SVCall_IRQn 0 */
142 /* USER CODE BEGIN SVCall_IRQn 1 */
144 /* USER CODE END SVCall_IRQn 1 */
148 * @brief This function handles Debug monitor.
150 void DebugMon_Handler(void)
152 /* USER CODE BEGIN DebugMonitor_IRQn 0 */
154 /* USER CODE END DebugMonitor_IRQn 0 */
155 /* USER CODE BEGIN DebugMonitor_IRQn 1 */
157 /* USER CODE END DebugMonitor_IRQn 1 */
161 * @brief This function handles Pendable request for system service.
163 void PendSV_Handler(void)
165 /* USER CODE BEGIN PendSV_IRQn 0 */
167 /* USER CODE END PendSV_IRQn 0 */
168 /* USER CODE BEGIN PendSV_IRQn 1 */
170 /* USER CODE END PendSV_IRQn 1 */
174 * @brief This function handles System tick timer.
176 void SysTick_Handler(void)
178 /* USER CODE BEGIN SysTick_IRQn 0 */
180 /* USER CODE END SysTick_IRQn 0 */
182 HAL_SYSTICK_IRQHandler();
183 /* USER CODE BEGIN SysTick_IRQn 1 */
185 /* USER CODE END SysTick_IRQn 1 */
188 /******************************************************************************/
189 /* STM32F1xx 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_stm32f1xx.s). */
193 /******************************************************************************/
196 * @brief This function handles USB high priority or CAN TX interrupts.
198 void USB_HP_CAN1_TX_IRQHandler(void)
200 /* USER CODE BEGIN USB_HP_CAN1_TX_IRQn 0 */
202 /* USER CODE END USB_HP_CAN1_TX_IRQn 0 */
203 HAL_PCD_IRQHandler(&hpcd_USB_FS);
204 /* USER CODE BEGIN USB_HP_CAN1_TX_IRQn 1 */
206 /* USER CODE END USB_HP_CAN1_TX_IRQn 1 */
210 * @brief This function handles USB low priority or CAN RX0 interrupts.
212 void USB_LP_CAN1_RX0_IRQHandler(void)
214 /* USER CODE BEGIN USB_LP_CAN1_RX0_IRQn 0 */
216 /* USER CODE END USB_LP_CAN1_RX0_IRQn 0 */
217 HAL_PCD_IRQHandler(&hpcd_USB_FS);
218 /* USER CODE BEGIN USB_LP_CAN1_RX0_IRQn 1 */
220 /* USER CODE END USB_LP_CAN1_RX0_IRQn 1 */
223 /* USER CODE BEGIN 1 */
225 /* USER CODE END 1 */
226 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/