我正在使用 stm32f103RBT6,我想通过使用下面的代码每隔一小时设置一次 RTC 警报事件
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);
我的问题是 23 小时后闹钟在 1 小时出现,它会跳过 0 小时。我认为这是因为当我将闹钟时间设置为 0 时,RTC 日期仍然是前一天。有没有人有任何代码示例,我可以使这个独立于日期或任何其他方式。谢谢你。