]> mj.ucw.cz Git - home-hw.git/blob - Src/stm32f1xx_it.c
More USB debugging
[home-hw.git] / Src / stm32f1xx_it.c
1 /**
2   ******************************************************************************
3   * @file    stm32f1xx_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 "stm32f1xx_hal.h"
35 #include "stm32f1xx.h"
36 #include "stm32f1xx_it.h"
37
38 /* USER CODE BEGIN 0 */
39
40 /* USER CODE END 0 */
41
42 /* External variables --------------------------------------------------------*/
43 extern PCD_HandleTypeDef hpcd_USB_FS;
44
45 /******************************************************************************/
46 /*            Cortex-M3 Processor Interruption and Exception Handlers         */ 
47 /******************************************************************************/
48
49 /**
50 * @brief This function handles Non maskable interrupt.
51 */
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 */
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 */
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 */
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 */
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 */
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 */
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 */
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 */
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 /* 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 /******************************************************************************/
194
195 /**
196 * @brief This function handles USB high priority or CAN TX interrupts.
197 */
198 void USB_HP_CAN1_TX_IRQHandler(void)
199 {
200   /* USER CODE BEGIN USB_HP_CAN1_TX_IRQn 0 */
201
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 */
205
206   /* USER CODE END USB_HP_CAN1_TX_IRQn 1 */
207 }
208
209 /**
210 * @brief This function handles USB low priority or CAN RX0 interrupts.
211 */
212 void USB_LP_CAN1_RX0_IRQHandler(void)
213 {
214   /* USER CODE BEGIN USB_LP_CAN1_RX0_IRQn 0 */
215
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 */
219
220   /* USER CODE END USB_LP_CAN1_RX0_IRQn 1 */
221 }
222
223 /* USER CODE BEGIN 1 */
224
225 /* USER CODE END 1 */
226 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/