EXTI interrupt abstraction feature complete

This commit is contained in:
2025-09-08 02:24:02 -07:00
parent a02ec044ce
commit a599aa5a4e
6 changed files with 20 additions and 32 deletions

View File

@@ -22,11 +22,11 @@ extern "C" void EXTI##EXTI_Channel##_IRQHandler(void) { \
};
#define DEFINE_MULTI_EXTI_IRQ(EXTI_Channel_Min, EXTI_Channel_Max) \
extern "C" void EXTI##EXTI_Channel_Max##_##EXTI_Channel_Min##_IRQHandler(void) { \
extern "C" void EXTI##EXTI_Channel_Min##_##EXTI_Channel_Max##_IRQHandler(void) { \
for(uint8_t line = EXTI_Channel_Min; line <= EXTI_Channel_Max; line++){ \
if (EXTI->PR & (1 << line)) { \
EXTI->PR |= (1 << line); /*clear flag */ \
auto cb = EXTI_callbacks[line]; \
auto cb = EXTI_callbacks[line]; \
if (cb) cb(); \
}; \
} \