//------------------------------- void RTC_Alarm_IRQHandler(void) { /* RTC Alarm A check */ if (RTC_GetITStatus(RTC_IT_ALRA) != RESET) { /* Clear RTC Alarm A interrupt flag */ RTC_ClearITPendingBit(RTC_IT_ALRA); /* Call user function for Alarm A */ TM_RTC_AlarmAHandler(); } /* RTC Alarm B check */ if (RTC_GetITStatus(RTC_IT_ALRB) != RESET) { /* Clear RTC Alarm A interrupt flag */ RTC_ClearITPendingBit(RTC_IT_ALRB); /* Call user function for Alarm B */ TM_RTC_AlarmBHandler(); } /* Clear EXTI line 17 bit */ EXTI->PR = 0x00020000; }
void RTC_Alarm_IRQHandler(void) { /* RTC Alarm A check */ if (__HAL_RTC_ALARM_GET_IT(&hRTC, RTC_IT_ALRA) != RESET) { /* Clear RTC Alarm A interrupt flag */ __HAL_RTC_ALARM_CLEAR_FLAG(&hRTC, RTC_FLAG_ALRAF); /* Call user function for Alarm A */ TM_RTC_AlarmAHandler(); } /* RTC Alarm B check */ if (__HAL_RTC_ALARM_GET_IT(&hRTC, RTC_IT_ALRB) != RESET) { /* Clear RTC Alarm A interrupt flag */ __HAL_RTC_ALARM_CLEAR_FLAG(&hRTC, RTC_FLAG_ALRBF); /* Call user function for Alarm B */ TM_RTC_AlarmBHandler(); } /* Clear EXTI line 22 bit */ __HAL_RTC_ALARM_EXTI_CLEAR_FLAG(); }