蓝桥杯实训平台板载RTC时钟,可以比较稳定的计算日期与时间,并且是 STM32唯一可掉电继续工作的外设 (纽扣电池供电)。
一、功能
- 纯粹计时
- 触发中断:
闹钟中断,用来产生一个软件可编程的闹钟中断。
秒中断,用来产生一个可编程的周期性中断信号(最快可达一秒)
溢出中断,指示内部可编程计数器溢出并回转为0的状态。
(一般不使用溢出中断,RTC溢出时间一般接近一百年)
其中闹钟中断最为常用,一般使用纯粹计时和闹钟中断
CubeMX配置:
如图,在Timer中找到RTC,开启使能RTC时钟和日历
详细选项如下图
可以看到RTC有两个闹钟。
第二条里匹配日期指的是所设闹钟需检测年月份日期
CubeMX的其他配置感兴趣的可以自行查询,蓝桥杯比赛过程中最多用到闹钟事件。
下面是MDK代码编写
首先定义RTC的时间结构体和日期结构体 T和D是可以自定义的结构体变量名。
定义后T和D中都包含三个变量:T.Hours T.Minutes T.Seconds
D中则是年月日
在主函数中运行Gettime和Getdate函数即可将RTC的时间和日期读取到T和D结构体中
通过LCD打印出来即可。
注意!!!!! 如果只使用时间,也一定要同时读取日期,否则读出的时间不会自动更新,具体原因我也不清楚