1.1 STM32的RTC简介
RTC(Real Time Clock)实时时钟
RTC是一个独立的定时器,可为系统提供时钟和日历的功能
RTC和时钟配置系统处于后备区域,系统复位时数据不清零,VDD(2.0~3.6V)断电后可借助VBAT(1.8~3.6V)供电继续走时
32位的可编程计数器,可对应Unix时间戳的秒计数器
20位的可编程预分频器,可适配不同频率的输入时钟
可选择三种RTC时钟源:
HSE时钟除以128(通常为8MHz/128)
LSE振荡器时钟(通常为32.768KHz)32768刚好是2的15次方数,看到晶振与这个数有关八成是RTC的时钟源
LSI振荡器时钟(40KHz)
以上三种时钟源中,只有LSE振荡器时钟可以通过VBAT备用电池供电;上下两路时钟,在主电源断电后,是停止运行的。
关于RTC的详细讲解,可移步到👇
1.2 代码
C语言中 十进制数前面不要随意补0,因为八进制开头是0,可能会引起BUG。
代码使用的是正点原子的教程
中级篇 P2 第42讲 RTC实时时钟程序讲解https://www.bilibili.com/video/BV1Wq4y1E7N7?p=2&vd_source=b4d125df2ebf1ab26fbed06ba725ac39 正点原子的代码能更好地满足本系统制作的需求,江协科技则是精简清晰,手把手带着写,更容易理解学习。
具体代码到正点原子的标准库开发指南找吧~