Mercurial > public > ostc4
annotate Small_CPU/Src/stm32f4xx_it_v3.c @ 918:f72613a152dd Evo_2_23
Switch external interface tx communication to DMA:
In the previous version the transmitting of data was done in polling mode. With the introduction of new sensors the length of commands send to the sensor may increase and have a impact to the runtim behavior of the SW. To avoid this the DMA transfers for TX has been activated.
author | Ideenmodellierer |
---|---|
date | Sun, 03 Nov 2024 15:40:55 +0100 |
parents | 4832981f9af8 |
children | 7c996354b8ac |
rev | line source |
---|---|
38 | 1 /** |
2 ****************************************************************************** | |
3 * @file GPIO/GPIO_IOToggle/Src/stm32f4xx_it.c | |
4 * @author MCD Application Team | |
5 * @version V1.1.0 | |
6 * @date 26-June-2014 | |
7 * @brief Main Interrupt Service Routines. | |
8 * This file provides template for all exceptions handler and | |
9 * peripherals interrupt service routine. | |
10 ****************************************************************************** | |
11 * @attention | |
12 * | |
13 * <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2> | |
14 * | |
15 * Redistribution and use in source and binary forms, with or without modification, | |
16 * are permitted provided that the following conditions are met: | |
17 * 1. Redistributions of source code must retain the above copyright notice, | |
18 * this list of conditions and the following disclaimer. | |
19 * 2. Redistributions in binary form must reproduce the above copyright notice, | |
20 * this list of conditions and the following disclaimer in the documentation | |
21 * and/or other materials provided with the distribution. | |
22 * 3. Neither the name of STMicroelectronics nor the names of its contributors | |
23 * may be used to endorse or promote products derived from this software | |
24 * without specific prior written permission. | |
25 * | |
26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |
27 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
28 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |
29 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE | |
30 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | |
32 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | |
33 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |
34 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
35 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
36 * | |
37 ****************************************************************************** | |
38 */ | |
39 | |
40 /* Includes ------------------------------------------------------------------*/ | |
41 #include "baseCPU2.h" | |
42 #include "stm32f4xx_it_v3.h" | |
43 | |
44 /** @addtogroup STM32F4xx_HAL_Examples | |
45 * @{ | |
46 */ | |
47 | |
48 /** @addtogroup GPIO_IOToggle | |
49 * @{ | |
50 */ | |
51 | |
52 /* Private typedef -----------------------------------------------------------*/ | |
53 /* Private define ------------------------------------------------------------*/ | |
54 /* Private macro -------------------------------------------------------------*/ | |
55 /* Private variables ---------------------------------------------------------*/ | |
56 extern I2C_HandleTypeDef I2cHandle; | |
57 extern SPI_HandleTypeDef hspi1; | |
58 extern RTC_HandleTypeDef RTCHandle; | |
59 extern ADC_HandleTypeDef AdcHandle; | |
60 | |
662 | 61 extern UART_HandleTypeDef huart1; |
62 extern DMA_HandleTypeDef hdma_usart1_rx; | |
916
4832981f9af8
External sensor UART: Switch to DMA TX transfers:
Ideenmodellierer
parents:
662
diff
changeset
|
63 extern DMA_HandleTypeDef hdma_usart1_tx; |
662 | 64 |
38 | 65 /* Private function prototypes -----------------------------------------------*/ |
66 /* Private functions ---------------------------------------------------------*/ | |
67 | |
68 /******************************************************************************/ | |
69 /* Cortex-M4 Processor Exceptions Handlers */ | |
70 /******************************************************************************/ | |
71 | |
72 /** | |
73 * @brief This function handles NMI exception. | |
74 * @param None | |
75 * @retval None | |
76 */ | |
77 void NMI_Handler(void) | |
78 { | |
79 } | |
80 | |
81 /** | |
82 * @brief This function handles Hard Fault exception. | |
83 * @param None | |
84 * @retval None | |
85 */ | |
86 void HardFault_Handler(void) | |
87 { | |
88 /* Go to infinite loop when Hard Fault exception occurs */ | |
42 | 89 HAL_NVIC_SystemReset(); /* TODO Exception occures during startup and no iwdg is active ==> Call reset till iwdg is added */ |
38 | 90 while (1) |
91 { | |
92 } | |
93 } | |
94 | |
95 /** | |
96 * @brief This function handles Memory Manage exception. | |
97 * @param None | |
98 * @retval None | |
99 */ | |
100 void MemManage_Handler(void) | |
101 { | |
102 /* Go to infinite loop when Memory Manage exception occurs */ | |
103 while (1) | |
104 { | |
105 } | |
106 } | |
107 | |
108 /** | |
109 * @brief This function handles Bus Fault exception. | |
110 * @param None | |
111 * @retval None | |
112 */ | |
113 void BusFault_Handler(void) | |
114 { | |
115 /* Go to infinite loop when Bus Fault exception occurs */ | |
116 while (1) | |
117 { | |
118 } | |
119 } | |
120 | |
121 /** | |
122 * @brief This function handles Usage Fault exception. | |
123 * @param None | |
124 * @retval None | |
125 */ | |
126 void UsageFault_Handler(void) | |
127 { | |
128 /* Go to infinite loop when Usage Fault exception occurs */ | |
129 while (1) | |
130 { | |
131 } | |
132 } | |
133 | |
134 /** | |
135 * @brief This function handles SVCall exception. | |
136 * @param None | |
137 * @retval None | |
138 */ | |
139 void SVC_Handler(void) | |
140 { | |
141 } | |
142 | |
143 /** | |
144 * @brief This function handles Debug Monitor exception. | |
145 * @param None | |
146 * @retval None | |
147 */ | |
148 void DebugMon_Handler(void) | |
149 { | |
150 } | |
151 | |
152 /** | |
153 * @brief This function handles PendSVC exception. | |
154 * @param None | |
155 * @retval None | |
156 */ | |
157 void PendSV_Handler(void) | |
158 { | |
159 } | |
160 | |
161 /** | |
162 * @brief This function handles SysTick Handler. | |
163 * @param None | |
164 * @retval None | |
165 */ | |
104 | 166 //void SysTick_Handler(void) |
167 //{ | |
168 // HAL_IncTick(); | |
169 //} | |
38 | 170 |
171 | |
172 /******************************************************************************/ | |
173 /* STM32F4xx Peripherals Interrupt Handlers */ | |
174 /* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ | |
175 /* available peripheral interrupt handler's name please refer to the startup */ | |
176 /* file (startup_stm32f4xx.s). */ | |
177 /******************************************************************************/ | |
178 /** | |
179 * @brief This function handles I2C event interrupt request. | |
180 * @param None | |
181 * @retval None | |
182 * @Note This function is redefined in "main.h" and related to I2C data transmission | |
183 */ | |
184 void I2Cx_EV_IRQHandler(void) | |
185 { | |
186 HAL_I2C_EV_IRQHandler(& I2cHandle); | |
187 } | |
188 | |
189 /** | |
190 * @brief This function handles I2C error interrupt request. | |
191 * @param None | |
192 * @retval None | |
193 * @Note This function is redefined in "main.h" and related to I2C error | |
194 */ | |
195 void I2Cx_ER_IRQHandler(void) | |
196 { | |
197 HAL_I2C_ER_IRQHandler(& I2cHandle); | |
198 } | |
199 | |
200 | |
201 /** | |
202 * @brief This function handles SPI interrupt request. | |
203 * @param None | |
204 * @retval None | |
205 */ | |
206 | |
207 /* | |
208 void SPI1_IRQHandler(void) | |
209 { | |
210 HAL_SPI_IRQHandler(&hspi1); | |
211 } | |
212 */ | |
213 | |
214 /** | |
215 * @brief This function handles DMA Tx interrupt request. | |
216 * @param None | |
217 * @retval None | |
218 */ | |
219 void DMA2_Stream3_IRQHandler(void) | |
220 { | |
221 HAL_DMA_IRQHandler(hspi1.hdmatx); | |
222 } | |
223 | |
224 /** | |
225 * @brief This function handles DMA Rx interrupt request. | |
226 * @param None | |
227 * @retval None | |
228 */ | |
229 void DMA2_Stream0_IRQHandler(void) | |
230 { | |
231 HAL_DMA_IRQHandler(hspi1.hdmarx); | |
232 } | |
233 | |
234 /** | |
235 * @brief This function handles PPP interrupt request. | |
236 * @param None | |
237 * @retval None | |
238 */ | |
239 | |
662 | 240 void DMA2_Stream5_IRQHandler(void) |
241 { | |
242 HAL_DMA_IRQHandler(&hdma_usart1_rx); | |
243 } | |
244 | |
916
4832981f9af8
External sensor UART: Switch to DMA TX transfers:
Ideenmodellierer
parents:
662
diff
changeset
|
245 void DMA2_Stream7_IRQHandler(void) |
4832981f9af8
External sensor UART: Switch to DMA TX transfers:
Ideenmodellierer
parents:
662
diff
changeset
|
246 { |
4832981f9af8
External sensor UART: Switch to DMA TX transfers:
Ideenmodellierer
parents:
662
diff
changeset
|
247 HAL_DMA_IRQHandler(&hdma_usart1_tx); |
4832981f9af8
External sensor UART: Switch to DMA TX transfers:
Ideenmodellierer
parents:
662
diff
changeset
|
248 } |
38 | 249 |
250 /******************************************************************************/ | |
251 /* STM32F4xx Peripherals Interrupt Handlers */ | |
252 /* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ | |
253 /* available peripheral interrupt handler's name please refer to the startup */ | |
254 /* file (startup_stm32f4xx.s). */ | |
255 /******************************************************************************/ | |
256 | |
257 | |
258 /** | |
259 * @brief This function handles RTC Auto wake-up interrupt request. | |
260 * @param None | |
261 * @retval None | |
262 */ | |
263 void RTC_WKUP_IRQHandler(void) | |
264 { | |
265 HAL_RTCEx_WakeUpTimerIRQHandler(&RTCHandle); | |
266 } | |
267 | |
268 /** | |
269 * @brief This function handles External line 0 interrupt request. | |
270 * @param None | |
271 * @retval None | |
272 */ | |
273 void EXTI15_10_IRQHandler(void) | |
274 { | |
275 HAL_GPIO_EXTI_IRQHandler(0xFF); | |
276 } | |
277 | |
278 /* button */ | |
279 void EXTI0_IRQHandler(void) | |
280 { | |
281 HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0); | |
282 } | |
283 | |
181 | 284 /* wireless 1 + 2 => was removed from OSTC4 code => placeholder*/ |
38 | 285 void EXTI1_IRQHandler(void) |
286 { | |
287 HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_1); | |
288 } | |
289 | |
290 void EXTI2_IRQHandler(void) | |
291 { | |
292 HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_2); | |
293 } | |
294 | |
295 /* test button */ | |
296 void EXTI3_IRQHandler(void) | |
297 { | |
298 HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_3); | |
299 } | |
300 | |
301 /** | |
302 * @brief This function handles ADC interrupt request. | |
303 * @param None | |
304 * @retval None | |
305 */ | |
306 void ADC_IRQHandler(void) | |
307 { | |
308 HAL_ADC_IRQHandler(&AdcHandle); | |
309 } | |
310 | |
662 | 311 |
312 void USART1_IRQHandler(void) | |
313 { | |
314 HAL_UART_IRQHandler(&huart1); | |
315 } | |
316 | |
38 | 317 /** |
318 * @brief This function handles PPP interrupt request. | |
319 * @param None | |
320 * @retval None | |
321 */ | |
322 /*void PPP_IRQHandler(void) | |
323 { | |
324 }*/ | |
325 | |
326 /** | |
327 * @} | |
328 */ | |
329 | |
330 /** | |
331 * @} | |
332 */ | |
333 | |
334 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |