コード例 #1
0
ファイル: rtc.c プロジェクト: SergeyPopovGit/MICO
//-------------------------------
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;
}
コード例 #2
0
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();
}