蓝桥杯实训平台板载RTC时钟,可以比较稳定的计算日期与时间,并且是 STM32唯一可掉电继续工作的外设 (纽扣电池供电)。

一、功能

  1.         纯粹计时
  •         触发中断:

                  闹钟中断,用来产生一个软件可编程的闹钟中断。

                  秒中断,用来产生一个可编程的周期性中断信号(最快可达一秒)

                  溢出中断,指示内部可编程计数器溢出并回转为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打印出来即可。

注意!!!!! 如果只使用时间,也一定要同时读取日期,否则读出的时间不会自动更新,具体原因我也不清楚

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐