/* Private RTC IRQ handlers */ void RTC_WKUP_IRQHandler(void) { /* Check for RTC interrupt */ if (__HAL_RTC_WAKEUPTIMER_GET_IT(&hRTC, RTC_IT_WUT) != RESET) { /* Call user function */ TM_RTC_WakeupHandler(); /* Clear interrupt flags */ __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(&hRTC, RTC_FLAG_WUTF); } /* Clear EXTI line 22 bit */ __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG(); }
/** * @brief This function handles Wake Up Timer interrupt request. * @param hrtc: RTC handle * @retval None */ void HAL_RTCEx_WakeUpTimerIRQHandler(RTC_HandleTypeDef *hrtc) { if(__HAL_RTC_WAKEUPTIMER_GET_IT(hrtc, RTC_IT_WUT)) { /* Get the status of the Interrupt */ if((uint32_t)(hrtc->Instance->CR & RTC_IT_WUT) != (uint32_t)RESET) { /* WAKEUPTIMER callback */ HAL_RTCEx_WakeUpTimerEventCallback(hrtc); /* Clear the WAKEUPTIMER interrupt pending bit */ __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(hrtc, RTC_FLAG_WUTF); } } /* Clear the EXTI's line Flag for RTC WakeUpTimer */ __HAL_RTC_CLEAR_FLAG(RTC_EXTI_LINE_WAKEUPTIMER_EVENT); /* Change RTC state */ hrtc->State = HAL_RTC_STATE_READY; }