1 /* USER CODE BEGIN Header */
2 /**
3   ******************************************************************************
4   * @file    stm32f4xx_it.c
5   * @brief   Interrupt Service Routines.
6   ******************************************************************************
7   * @attention
8   *
9   * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
10   * All rights reserved.</center></h2>
11   *
12   * This software component is licensed by ST under Ultimate Liberty license
13   * SLA0044, the "License"; You may not use this file except in compliance with
14   * the License. You may obtain a copy of the License at:
15   *                             www.st.com/SLA0044
16   *
17   ******************************************************************************
18   */
19 /* USER CODE END Header */
20 
21 /* Includes ------------------------------------------------------------------*/
22 #include "main.h"
23 #include "stm32f4xx_it.h"
24 #include "FreeRTOS.h"
25 #include "task.h"
26 /* Private includes ----------------------------------------------------------*/
27 /* USER CODE BEGIN Includes */
28 /* USER CODE END Includes */
29 
30 /* Private typedef -----------------------------------------------------------*/
31 /* USER CODE BEGIN TD */
32 
33 /* USER CODE END TD */
34 
35 /* Private define ------------------------------------------------------------*/
36 /* USER CODE BEGIN PD */
37 
38 /* USER CODE END PD */
39 
40 /* Private macro -------------------------------------------------------------*/
41 /* USER CODE BEGIN PM */
42 
43 /* USER CODE END PM */
44 
45 /* Private variables ---------------------------------------------------------*/
46 /* USER CODE BEGIN PV */
47 
48 /* USER CODE END PV */
49 
50 /* Private function prototypes -----------------------------------------------*/
51 /* USER CODE BEGIN PFP */
52 
53 /* USER CODE END PFP */
54 
55 /* Private user code ---------------------------------------------------------*/
56 /* USER CODE BEGIN 0 */
57 
58 /* USER CODE END 0 */
59 
60 /* External variables --------------------------------------------------------*/
61 extern HCD_HandleTypeDef hhcd_USB_OTG_HS;
62 extern DMA2D_HandleTypeDef hdma2d;
63 extern LTDC_HandleTypeDef hltdc;
64 extern TIM_HandleTypeDef htim6;
65 
66 /* USER CODE BEGIN EV */
67 
68 /* USER CODE END EV */
69 
70 /******************************************************************************/
71 /*           Cortex-M4 Processor Interruption and Exception Handlers          */
72 /******************************************************************************/
73 /**
74   * @brief This function handles Non maskable interrupt.
75   */
NMI_Handler(void)76 void NMI_Handler(void)
77 {
78   /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
79 
80   /* USER CODE END NonMaskableInt_IRQn 0 */
81   /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
82 
83   /* USER CODE END NonMaskableInt_IRQn 1 */
84 }
85 
86 /**
87   * @brief This function handles Hard fault interrupt.
88   */
HardFault_Handler(void)89 void HardFault_Handler(void)
90 {
91   /* USER CODE BEGIN HardFault_IRQn 0 */
92 
93   /* USER CODE END HardFault_IRQn 0 */
94   while (1)
95   {
96     /* USER CODE BEGIN W1_HardFault_IRQn 0 */
97     /* USER CODE END W1_HardFault_IRQn 0 */
98   }
99 }
100 
101 /**
102   * @brief This function handles Memory management fault.
103   */
MemManage_Handler(void)104 void MemManage_Handler(void)
105 {
106   /* USER CODE BEGIN MemoryManagement_IRQn 0 */
107 
108   /* USER CODE END MemoryManagement_IRQn 0 */
109   while (1)
110   {
111     /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
112     /* USER CODE END W1_MemoryManagement_IRQn 0 */
113   }
114 }
115 
116 /**
117   * @brief This function handles Pre-fetch fault, memory access fault.
118   */
BusFault_Handler(void)119 void BusFault_Handler(void)
120 {
121   /* USER CODE BEGIN BusFault_IRQn 0 */
122 
123   /* USER CODE END BusFault_IRQn 0 */
124   while (1)
125   {
126     /* USER CODE BEGIN W1_BusFault_IRQn 0 */
127     /* USER CODE END W1_BusFault_IRQn 0 */
128   }
129 }
130 
131 /**
132   * @brief This function handles Undefined instruction or illegal state.
133   */
UsageFault_Handler(void)134 void UsageFault_Handler(void)
135 {
136   /* USER CODE BEGIN UsageFault_IRQn 0 */
137 
138   /* USER CODE END UsageFault_IRQn 0 */
139   while (1)
140   {
141     /* USER CODE BEGIN W1_UsageFault_IRQn 0 */
142     /* USER CODE END W1_UsageFault_IRQn 0 */
143   }
144 }
145 
146 /**
147   * @brief This function handles Debug monitor.
148   */
DebugMon_Handler(void)149 void DebugMon_Handler(void)
150 {
151   /* USER CODE BEGIN DebugMonitor_IRQn 0 */
152 
153   /* USER CODE END DebugMonitor_IRQn 0 */
154   /* USER CODE BEGIN DebugMonitor_IRQn 1 */
155 
156   /* USER CODE END DebugMonitor_IRQn 1 */
157 }
158 
159 /******************************************************************************/
160 /* STM32F4xx Peripheral Interrupt Handlers                                    */
161 /* Add here the Interrupt Handlers for the used peripherals.                  */
162 /* For the available peripheral interrupt handler names,                      */
163 /* please refer to the startup file (startup_stm32f4xx.s).                    */
164 /******************************************************************************/
165 
166 /**
167   * @brief This function handles TIM6 global interrupt, DAC1 and DAC2 underrun error interrupts.
168   */
TIM6_DAC_IRQHandler(void)169 void TIM6_DAC_IRQHandler(void)
170 {
171   /* USER CODE BEGIN TIM6_DAC_IRQn 0 */
172 
173   /* USER CODE END TIM6_DAC_IRQn 0 */
174   HAL_TIM_IRQHandler(&htim6);
175   /* USER CODE BEGIN TIM6_DAC_IRQn 1 */
176 
177   /* USER CODE END TIM6_DAC_IRQn 1 */
178 }
179 
180 /**
181   * @brief This function handles USB On The Go HS global interrupt.
182   */
OTG_HS_IRQHandler(void)183 void OTG_HS_IRQHandler(void)
184 {
185   /* USER CODE BEGIN OTG_HS_IRQn 0 */
186 
187   /* USER CODE END OTG_HS_IRQn 0 */
188   HAL_HCD_IRQHandler(&hhcd_USB_OTG_HS);
189   /* USER CODE BEGIN OTG_HS_IRQn 1 */
190 
191   /* USER CODE END OTG_HS_IRQn 1 */
192 }
193 
194 /**
195   * @brief This function handles LTDC global interrupt.
196   */
LTDC_IRQHandler(void)197 void LTDC_IRQHandler(void)
198 {
199   /* USER CODE BEGIN LTDC_IRQn 0 */
200 
201   /* USER CODE END LTDC_IRQn 0 */
202   HAL_LTDC_IRQHandler(&hltdc);
203   /* USER CODE BEGIN LTDC_IRQn 1 */
204 
205   /* USER CODE END LTDC_IRQn 1 */
206 }
207 
208 /**
209   * @brief This function handles DMA2D global interrupt.
210   */
DMA2D_IRQHandler(void)211 void DMA2D_IRQHandler(void)
212 {
213   /* USER CODE BEGIN DMA2D_IRQn 0 */
214 
215   /* USER CODE END DMA2D_IRQn 0 */
216   HAL_DMA2D_IRQHandler(&hdma2d);
217   /* USER CODE BEGIN DMA2D_IRQn 1 */
218 
219   /* USER CODE END DMA2D_IRQn 1 */
220 }
221 
222 /* USER CODE BEGIN 1 */
223 
224 /* USER CODE END 1 */
225 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
226