【RTC】实时时钟 & 掉电走时
下载例程代码: 下载代码
注意
请一定按照 例程使用方法🔗 导入例程,否则下载的可能不是例程而是其他工程。
RTC 简介
RTC(Real Time Clock),即实时时钟,类似于钟表一般,能够持续记录时间,为程序提供精确的日期和时间信息,即使在断电期间也能确保准确运行。
原理和特点
- 在STM32中,存在两个时钟源:高速时钟(8 MHz)和低速时钟(32.768 kHz)。高速时钟用于驱动CPU、外设和定时器等核心组件,而低速时钟则负责管理看门狗和RTC等功能。
- RTC依赖低速时钟运行。
- RTC模块内部包含了一个独立的32位寄存器来保存当前的时间戳信息。
- 低速时钟以极低的功耗运行,即使在断电情况下,通过备用电源(如纽扣电池),RTC也能持续运行以确保时间准确性。
RTC的一般使用方法
- 在CubeMX中找到Timers -> RTC,勾选Activate Clock Source,即可激活RTC时钟功能。
- 即使学习板断电,RTC依然能够持续记录时间。
- HAL库的RTC驱动未实现日期的断电走时功能,即断电后时间可以继续走时,但日期会重置。
- keysking提供了RTC库,可以实现断电走时功能,具体代码见下文。
- 需要获取当前日期和时间时,只需调用相应函数即可实现。