![](https://img-blog.csdnimg.cn/img_convert/e9cccc81b813af2fd203b923fa3502c6.png)
![](https://img-blog.csdnimg.cn/img_convert/0e483c8a2255b5d9d2785078a7801d69.png)
![](https://img-blog.csdnimg.cn/img_convert/f68e5d03a4e55f63b240d5477caab6ee.png)
开启闹钟中断
![](https://img-blog.csdnimg.cn/img_convert/59939090e4129b87592d4d201ea92e1a.png)
读出我们的时间
注意:必须同时读我们的时间和日期,否者会出问题。
HAL_RTC_GetTime(&hrtc,&TIME,RTC_FORMAT_BIN);
HAL_RTC_GetDate(&hrtc,&DATE,RTC_FORMAT_BIN);
注意使用二进制:RTC_FORMAT_BIN
如果是十六进制需要进行转换
void rtc_porc(void)
{
RTC_TimeTypeDef TIME;
RTC_DateTypeDef DATE;
HAL_RTC_GetTime(&hrtc,&TIME,RTC_FORMAT_BIN);
HAL_RTC_GetDate(&hrtc,&DATE,RTC_FORMAT_BIN);
char temp[20];
sprintf(temp,"%d",TIME.Seconds);
LCD_DisplayStringLine(Line5,(unsigned char *)temp); //将读出的时间进行显示
}
闹钟中断回调函数:
void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc)
{
}