8000 stm32/stm32_it: Fix RTC IRQ handler to handle all EXTI IRQs on F0 MCUs. · lolsborn/micropython@a270cf2 · GitHub
[go: up one dir, main page]

Skip to content

Commit a270cf2

Browse files
dhylandsdpgeorge
authored andcommitted
stm32/stm32_it: Fix RTC IRQ handler to handle all EXTI IRQs on F0 MCUs.
1 parent 67b326d commit a270cf2

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

ports/stm32/stm32_it.c

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -509,8 +509,18 @@ void RTC_WKUP_IRQHandler(void) {
509509

510510
void RTC_IRQHandler(void) {
511511
IRQ_ENTER(RTC_IRQn);
512-
RTC->ISR &= ~RTC_ISR_WUTF; // clear wakeup interrupt flag
513-
Handle_EXTI_Irq(EXTI_RTC_WAKEUP); // clear EXTI flag and execute optional callback
512+
if (RTC->ISR & RTC_ISR_WUTF) {
513+
RTC->ISR &= ~RTC_ISR_WUTF; // clear wakeup interrupt flag
514+
Handle_EXTI_Irq(EXTI_RTC_WAKEUP); // clear EXTI flag and execute optional callback
515+
}
516+
if (RTC->ISR & RTC_ISR_ALRAF) {
517+
RTC->ISR &= ~RTC_ISR_ALRAF; // clear Alarm A flag
518+
Handle_EXTI_Irq(EXTI_RTC_ALARM); // clear EXTI flag and execute optional callback
519+
}
520+
if (RTC->ISR & RTC_ISR_TSF) {
521+
RTC->ISR &= ~RTC_ISR_TSF; // clear timestamp flag
522+
Handle_EXTI_Irq(EXTI_RTC_TIMESTAMP); // clear EXTI flag and execute optional callback
523+
}
514524
IRQ_EXIT(RTC_IRQn);
515525
}
516526

0 commit comments

Comments
 (0)
0