diff --git a/os/hal/ports/STM32/LLD/EXTIv1/stm32_exti16-40_41.inc b/os/hal/ports/STM32/LLD/EXTIv1/stm32_exti16-40_41.inc index addc427cf..64280a79a 100644 --- a/os/hal/ports/STM32/LLD/EXTIv1/stm32_exti16-40_41.inc +++ b/os/hal/ports/STM32/LLD/EXTIv1/stm32_exti16-40_41.inc @@ -84,13 +84,19 @@ OSAL_IRQ_HANDLER(STM32_EXTI164041_HANDLER) { #if defined(STM32_EXTI16_IS_USED) extiGetAndClearGroup1(1U << 16, pr); - exti_serve_irq(pr, 16); +#if defined(STM32_EXTI16_ISR) + STM32_EXTI16_ISR(pr, 16); +#endif #endif #if defined(STM32_EXTI40_IS_USED) || defined(STM32_EXTI41_IS_USED) extiGetAndClearGroup2((1U << (40 - 32)) | (1U << (41 - 32)), pr); - exti_serve_irq(pr, (40 - 32)); - exti_serve_irq(pr, (41 - 32)); +#if defined(STM32_EXTI40_ISR) + STM32_EXTI40_ISR(pr, 40); +#endif +#if defined(STM32_EXTI41_ISR) + STM32_EXTI41_ISR(pr, 41); +#endif #endif OSAL_IRQ_EPILOGUE(); diff --git a/os/hal/ports/STM32/LLD/EXTIv1/stm32_exti21_22-29.inc b/os/hal/ports/STM32/LLD/EXTIv1/stm32_exti21_22-29.inc index 9c9832e07..0faf11bb2 100644 --- a/os/hal/ports/STM32/LLD/EXTIv1/stm32_exti21_22-29.inc +++ b/os/hal/ports/STM32/LLD/EXTIv1/stm32_exti21_22-29.inc @@ -84,9 +84,15 @@ OSAL_IRQ_HANDLER(STM32_EXTI212229_HANDLER) { extiGetAndClearGroup1((1U << 21) | (1U << 22) | (1U << 29), pr); - exti_serve_irq(pr, 21); - exti_serve_irq(pr, 22); - exti_serve_irq(pr, 29); +#if defined(STM32_EXTI21_ISR) + STM32_EXTI21_ISR(pr, 21); +#endif +#if defined(STM32_EXTI22_ISR) + STM32_EXTI22_ISR(pr, 22); +#endif +#if defined(STM32_EXTI29_ISR) + STM32_EXTI29_ISR(pr, 29); +#endif OSAL_IRQ_EPILOGUE(); } diff --git a/os/hal/ports/STM32/LLD/EXTIv1/stm32_exti30_32.inc b/os/hal/ports/STM32/LLD/EXTIv1/stm32_exti30_32.inc index 6b067bd7e..9b39f26ce 100644 --- a/os/hal/ports/STM32/LLD/EXTIv1/stm32_exti30_32.inc +++ b/os/hal/ports/STM32/LLD/EXTIv1/stm32_exti30_32.inc @@ -84,13 +84,19 @@ OSAL_IRQ_HANDLER(STM32_EXTI164041_HANDLER) { #if defined(STM32_EXTI30_IS_USED) || defined(STM32_EXTI31_IS_USED) extiGetAndClearGroup1((1U << 30) | (1U << 31), pr); - exti_serve_irq(pr, 30); - exti_serve_irq(pr, 31); +#if defined(STM32_EXTI30_ISR) + STM32_EXTI30_ISR(pr, 30); +#endif +#if defined(STM32_EXTI31_ISR) + STM32_EXTI31_ISR(pr, 31); +#endif #endif #if defined(STM32_EXTI32_IS_USED) extiGetAndClearGroup2(1U << (32 - 32), pr); - exti_serve_irq(pr, (32 - 32)); +#if defined(STM32_EXTI32_ISR) + STM32_EXTI32_ISR(pr, 32); +#endif #endif OSAL_IRQ_EPILOGUE();