1.RTC时钟的原理
为什么要设置在后备区域,就是为了防止不小心更改了RTC的设置和时间,这个时候BKP(后备区域)更改后会对RTC的准度造成影响
2.RTC的工作原理框图
RTC的原理部分可以分为两大部分,一部分是RTC的APB1总线,一个是下面的后备区域那块
在这里我们要着重看一下RTCCLK,这个表示RTC的时钟来源,RTC的时钟来源有很多种
一种是LSE,为外部晶振源,还有HSE、LST等,但是我们在这里一般选择的是LSE,因为外部晶振源比较稳定。
第一个模块是 RTC 的 预分频模块,它可编程产生 1 秒的 RTC 时间基准 TR_CLK。RTC 的预分频模块包含了一个 20
位的可编程分频器(RTC 预分频器)。如果在 RTC_CR 寄存器中设置了相应的允许位,则在每个
TR_CLK 周期中 RTC 产生一个中断(秒中断)。第二个模块是一个 32 位的可编程计数器,可被 初始化为当前的系统时间,一个 32 位的时钟计数器,按秒钟计算,可以记录 4294967296 秒, 约合 136 年左右,作为一般应用,这已经是足够了的。
RTC 还有一个闹钟寄存器 RTC_ALR,用于产生闹钟。系统时间按 TR_CLK 周期累加并与存储在 RTC_ALR 寄存器中的可编程时间相比较,如果 RTC_CR 控制寄存器中设置了相应允许 位,比较匹配时将产生一个闹钟中断。