summaryrefslogtreecommitdiffstatshomepage
path: root/ports/stm32/stm32_it.c
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2024-09-02 13:06:30 +1000
committerDamien George <damien@micropython.org>2024-12-18 00:22:21 +1100
commit23bfa95d34e9b6f836ee67a1564e04f7b86eaa36 (patch)
tree514be47f8e3b2e4b5c79a43a283bf2eec2913262 /ports/stm32/stm32_it.c
parenta2efafcce3a03e2fd972e2521cae2c2bec2e88ff (diff)
downloadmicropython-23bfa95d34e9b6f836ee67a1564e04f7b86eaa36.tar.gz
micropython-23bfa95d34e9b6f836ee67a1564e04f7b86eaa36.zip
stm32/extint: Fix EXTI IRQ handlers for H5 MCUs.
The existing EXTI IRQ handlers are moved from `stm32_it.c` to `extint.c` to keep them with related code. A macro is defined to make it easier to define the handler function that handles one line, and correct handlers added for STM32H5xx MCUs. Also, to prevent errors in the future, `MP_STATIC_ASSERT(<irqn> > 0)` is added to each handler function to check that the correct `IRQn` constant is used, which corresponds to the handler function name. Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'ports/stm32/stm32_it.c')
-rw-r--r--ports/stm32/stm32_it.c78
1 files changed, 0 insertions, 78 deletions
diff --git a/ports/stm32/stm32_it.c b/ports/stm32/stm32_it.c
index e05dbe91bc..2e625a5894 100644
--- a/ports/stm32/stm32_it.c
+++ b/ports/stm32/stm32_it.c
@@ -452,62 +452,6 @@ void OTG_HS_WKUP_IRQHandler(void) {
{
}*/
-/**
- * @brief These functions handle the EXTI interrupt requests.
- * @param None
- * @retval None
- */
-void EXTI0_IRQHandler(void) {
- IRQ_ENTER(EXTI0_IRQn);
- Handle_EXTI_Irq(0);
- IRQ_EXIT(EXTI0_IRQn);
-}
-
-void EXTI1_IRQHandler(void) {
- IRQ_ENTER(EXTI1_IRQn);
- Handle_EXTI_Irq(1);
- IRQ_EXIT(EXTI1_IRQn);
-}
-
-void EXTI2_IRQHandler(void) {
- IRQ_ENTER(EXTI2_IRQn);
- Handle_EXTI_Irq(2);
- IRQ_EXIT(EXTI2_IRQn);
-}
-
-void EXTI3_IRQHandler(void) {
- IRQ_ENTER(EXTI3_IRQn);
- Handle_EXTI_Irq(3);
- IRQ_EXIT(EXTI3_IRQn);
-}
-
-void EXTI4_IRQHandler(void) {
- IRQ_ENTER(EXTI4_IRQn);
- Handle_EXTI_Irq(4);
- IRQ_EXIT(EXTI4_IRQn);
-}
-
-void EXTI9_5_IRQHandler(void) {
- IRQ_ENTER(EXTI9_5_IRQn);
- Handle_EXTI_Irq(5);
- Handle_EXTI_Irq(6);
- Handle_EXTI_Irq(7);
- Handle_EXTI_Irq(8);
- Handle_EXTI_Irq(9);
- IRQ_EXIT(EXTI9_5_IRQn);
-}
-
-void EXTI15_10_IRQHandler(void) {
- IRQ_ENTER(EXTI15_10_IRQn);
- Handle_EXTI_Irq(10);
- Handle_EXTI_Irq(11);
- Handle_EXTI_Irq(12);
- Handle_EXTI_Irq(13);
- Handle_EXTI_Irq(14);
- Handle_EXTI_Irq(15);
- IRQ_EXIT(EXTI15_10_IRQn);
-}
-
void PVD_IRQHandler(void) {
IRQ_ENTER(PVD_IRQn);
Handle_EXTI_Irq(EXTI_PVD_OUTPUT);
@@ -605,28 +549,6 @@ void RTC_IRQHandler(void) {
}
#endif
-void EXTI0_1_IRQHandler(void) {
- IRQ_ENTER(EXTI0_1_IRQn);
- Handle_EXTI_Irq(0);
- Handle_EXTI_Irq(1);
- IRQ_EXIT(EXTI0_1_IRQn);
-}
-
-void EXTI2_3_IRQHandler(void) {
- IRQ_ENTER(EXTI2_3_IRQn);
- Handle_EXTI_Irq(2);
- Handle_EXTI_Irq(3);
- IRQ_EXIT(EXTI2_3_IRQn);
-}
-
-void EXTI4_15_IRQHandler(void) {
- IRQ_ENTER(EXTI4_15_IRQn);
- for (int i = 4; i <= 15; ++i) {
- Handle_EXTI_Irq(i);
- }
- IRQ_EXIT(EXTI4_15_IRQn);
-}
-
void TIM1_BRK_UP_TRG_COM_IRQHandler(void) {
IRQ_ENTER(TIM1_BRK_UP_TRG_COM_IRQn);
timer_irq_handler(1);