I'm using stm32f103RBT6 and I want to set RTC alarm event every one hour by using codes below
RTC_Alarm_Time.Alarm = 1;
HAL_RTC_GetTime(&hrtc,&RTC_Time,RTC_FORMAT_BIN);
RTC_Alarm_Time.AlarmTime.Hours=RTC_Time.Hours+1;
if(RTC_Alarm_Time.AlarmTime.Hours>23)
{
RTC_Alarm_Time.AlarmTime.Hours=0;
}
RTC_Alarm_Time.AlarmTime.Minutes=RTC_Time.Minutes;
RTC_Alarm_Time.AlarmTime.Seconds=RTC_Time.Seconds;
HAL_RTC_SetAlarm_IT(&hrtc, &RTC_Alarm_Time, RTC_FORMAT_BIN);
my problem is after hour 23 alarm comes at hour 1 and it skips hour 0. I think its because when i set alarm hour to 0 RTC date is still previous day. does anyone has any example of codes that i can make this Independent of date or any other way. Thankyou.