]> mj.ucw.cz Git - home-hw.git/blob - Src/stm32f1xx_it.c
1b21ca9eb8b52c5395a1f021e0d0b4a26b600131
[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 #include "util.h"
40 #include "app.h"
41
42 /* USER CODE END 0 */
43
44 /* External variables --------------------------------------------------------*/
45 extern PCD_HandleTypeDef hpcd_USB_FS;
46
47 /******************************************************************************/
48 /*            Cortex-M3 Processor Interruption and Exception Handlers         */ 
49 /******************************************************************************/
50
51 /**
52 * @brief This function handles Non maskable interrupt.
53 */
54 void NMI_Handler(void)
55 {
56   /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
57
58   /* USER CODE END NonMaskableInt_IRQn 0 */
59   /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
60
61   /* USER CODE END NonMaskableInt_IRQn 1 */
62 }
63
64 /**
65 * @brief This function handles Hard fault interrupt.
66 */
67 void HardFault_Handler(void)
68 {
69   /* USER CODE BEGIN HardFault_IRQn 0 */
70
71   /* USER CODE END HardFault_IRQn 0 */
72   while (1)
73   {
74     /* USER CODE BEGIN W1_HardFault_IRQn 0 */
75     /* USER CODE END W1_HardFault_IRQn 0 */
76   }
77   /* USER CODE BEGIN HardFault_IRQn 1 */
78
79   /* USER CODE END HardFault_IRQn 1 */
80 }
81
82 /**
83 * @brief This function handles Memory management fault.
84 */
85 void MemManage_Handler(void)
86 {
87   /* USER CODE BEGIN MemoryManagement_IRQn 0 */
88
89   /* USER CODE END MemoryManagement_IRQn 0 */
90   while (1)
91   {
92     /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
93     /* USER CODE END W1_MemoryManagement_IRQn 0 */
94   }
95   /* USER CODE BEGIN MemoryManagement_IRQn 1 */
96
97   /* USER CODE END MemoryManagement_IRQn 1 */
98 }
99
100 /**
101 * @brief This function handles Prefetch fault, memory access fault.
102 */
103 void BusFault_Handler(void)
104 {
105   /* USER CODE BEGIN BusFault_IRQn 0 */
106
107   /* USER CODE END BusFault_IRQn 0 */
108   while (1)
109   {
110     /* USER CODE BEGIN W1_BusFault_IRQn 0 */
111     /* USER CODE END W1_BusFault_IRQn 0 */
112   }
113   /* USER CODE BEGIN BusFault_IRQn 1 */
114
115   /* USER CODE END BusFault_IRQn 1 */
116 }
117
118 /**
119 * @brief This function handles Undefined instruction or illegal state.
120 */
121 void UsageFault_Handler(void)
122 {
123   /* USER CODE BEGIN UsageFault_IRQn 0 */
124
125   /* USER CODE END UsageFault_IRQn 0 */
126   while (1)
127   {
128     /* USER CODE BEGIN W1_UsageFault_IRQn 0 */
129     /* USER CODE END W1_UsageFault_IRQn 0 */
130   }
131   /* USER CODE BEGIN UsageFault_IRQn 1 */
132
133   /* USER CODE END UsageFault_IRQn 1 */
134 }
135
136 /**
137 * @brief This function handles System service call via SWI instruction.
138 */
139 void SVC_Handler(void)
140 {
141   /* USER CODE BEGIN SVCall_IRQn 0 */
142
143   /* USER CODE END SVCall_IRQn 0 */
144   /* USER CODE BEGIN SVCall_IRQn 1 */
145
146   /* USER CODE END SVCall_IRQn 1 */
147 }
148
149 /**
150 * @brief This function handles Debug monitor.
151 */
152 void DebugMon_Handler(void)
153 {
154   /* USER CODE BEGIN DebugMonitor_IRQn 0 */
155
156   /* USER CODE END DebugMonitor_IRQn 0 */
157   /* USER CODE BEGIN DebugMonitor_IRQn 1 */
158
159   /* USER CODE END DebugMonitor_IRQn 1 */
160 }
161
162 /**
163 * @brief This function handles Pendable request for system service.
164 */
165 void PendSV_Handler(void)
166 {
167   /* USER CODE BEGIN PendSV_IRQn 0 */
168
169   /* USER CODE END PendSV_IRQn 0 */
170   /* USER CODE BEGIN PendSV_IRQn 1 */
171
172   /* USER CODE END PendSV_IRQn 1 */
173 }
174
175 /**
176 * @brief This function handles System tick timer.
177 */
178 void SysTick_Handler(void)
179 {
180   /* USER CODE BEGIN SysTick_IRQn 0 */
181
182   /* USER CODE END SysTick_IRQn 0 */
183   HAL_IncTick();
184   HAL_SYSTICK_IRQHandler();
185   /* USER CODE BEGIN SysTick_IRQn 1 */
186
187   /* USER CODE END SysTick_IRQn 1 */
188 }
189
190 /******************************************************************************/
191 /* STM32F1xx Peripheral Interrupt Handlers                                    */
192 /* Add here the Interrupt Handlers for the used peripherals.                  */
193 /* For the available peripheral interrupt handler names,                      */
194 /* please refer to the startup file (startup_stm32f1xx.s).                    */
195 /******************************************************************************/
196
197 /**
198 * @brief This function handles DMA1 channel6 global interrupt.
199 */
200 void DMA1_Channel6_IRQHandler(void)
201 {
202   /* USER CODE BEGIN DMA1_Channel6_IRQn 0 */
203
204   /* USER CODE END DMA1_Channel6_IRQn 0 */
205   
206   /* USER CODE BEGIN DMA1_Channel6_IRQn 1 */
207
208   /* USER CODE END DMA1_Channel6_IRQn 1 */
209 }
210
211 /**
212 * @brief This function handles DMA1 channel7 global interrupt.
213 */
214 void DMA1_Channel7_IRQHandler(void)
215 {
216   /* USER CODE BEGIN DMA1_Channel7_IRQn 0 */
217
218   /* USER CODE END DMA1_Channel7_IRQn 0 */
219   
220   /* USER CODE BEGIN DMA1_Channel7_IRQn 1 */
221
222   /* USER CODE END DMA1_Channel7_IRQn 1 */
223 }
224
225 /**
226 * @brief This function handles USB high priority or CAN TX interrupts.
227 */
228 void USB_HP_CAN1_TX_IRQHandler(void)
229 {
230   /* USER CODE BEGIN USB_HP_CAN1_TX_IRQn 0 */
231
232   /* USER CODE END USB_HP_CAN1_TX_IRQn 0 */
233   HAL_PCD_IRQHandler(&hpcd_USB_FS);
234   /* USER CODE BEGIN USB_HP_CAN1_TX_IRQn 1 */
235
236   /* USER CODE END USB_HP_CAN1_TX_IRQn 1 */
237 }
238
239 /**
240 * @brief This function handles USB low priority or CAN RX0 interrupts.
241 */
242 void USB_LP_CAN1_RX0_IRQHandler(void)
243 {
244   /* USER CODE BEGIN USB_LP_CAN1_RX0_IRQn 0 */
245
246   /* USER CODE END USB_LP_CAN1_RX0_IRQn 0 */
247   HAL_PCD_IRQHandler(&hpcd_USB_FS);
248   /* USER CODE BEGIN USB_LP_CAN1_RX0_IRQn 1 */
249
250   /* USER CODE END USB_LP_CAN1_RX0_IRQn 1 */
251 }
252
253 /**
254 * @brief This function handles TIM4 global interrupt.
255 */
256 void TIM4_IRQHandler(void)
257 {
258   /* USER CODE BEGIN TIM4_IRQn 0 */
259   if (LL_TIM_IsActiveFlag_UPDATE(TIM4))
260     {
261       // FIXME
262       LL_TIM_ClearFlag_UPDATE(TIM4);
263     }
264
265   /* USER CODE END TIM4_IRQn 0 */
266   /* USER CODE BEGIN TIM4_IRQn 1 */
267
268   /* USER CODE END TIM4_IRQn 1 */
269 }
270
271 /* USER CODE BEGIN 1 */
272
273 /* USER CODE END 1 */
274 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/