目录
前言
嵌入式最后一个模块。本人资历尚浅,如有讲的不对的地方,还望各位小伙伴多多批评指正,谢谢。
资料链接——通过网盘分享的文件:嵌入式蓝桥杯.zip
链接: https://pan.baidu.com/s/1pAdfNcizdb4qkVbx2L3FCQ?pwd=1011 提取码: 1011
1.实现效果
读取日期和时间。
2.CubaMX配置
激活时钟源
激活日历
设置日历
设置时间
3.HAL库函数
HAL_RTC_GetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format)
//获取日历信息
//参数1 RTC句柄 参数2 RTC_DateTypeDef型结构体 参数3 读取的信息格式
HAL_RTC_GetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format)
//获取时间信息
//参数1 RTC句柄 参数2 RTC_TimeTypeDef 型结构体 参数3 读取的信息格式
4.代码部分
while (1)
{
HAL_RTC_GetTime(&hrtc,&time,RTC_FORMAT_BIN);
HAL_RTC_GetDate(&hrtc,&daty,RTC_FORMAT_BIN);
sprintf(buf," time:%.0f.%.0f.%.0f",time.Hours*1.0f,time.Minutes*1.0f,time.Seconds*1.0f);
LCD_DisplayStringLine(Line5,(uint8_t *)" ");
LCD_DisplayStringLine(Line5,(uint8_t *)buf);
sprintf(buf," daty:%.0f.%.0f.%.0f",daty.Year*1.0f,daty.Month*1.0f,daty.Date*1.0f);
LCD_DisplayStringLine(Line4,(uint8_t *)" ");
LCD_DisplayStringLine(Line4,(uint8_t *)buf);
HAL_Delay(100);
}
// HAL_RTC_GetTime(&hrtc,&time,RTC_FORMAT_BIN);
// HAL_RTC_GetDate(&hrtc,&daty,RTC_FORMAT_BIN);
//注意读取时间和日历信息的函数一定要同时调用