1 读取RTC 寄存器值
RTC 内核和APB 接口分属于两个不同的时钟域,在进行访问时需要等待时钟同
步,并且RTC 寄存器的值只会在RTC 时钟的上升沿被更新;因此在发生系统复
位或者从待机模式唤醒时立即读取RTC 寄存器值可能出现未更新的情况,这时
我们需要等待RTC_CRL 寄存器中的RSF 位置位时再进行读取。
2 RTC 的配置流程
在配置RTC 时,对RTC 寄存器的写操作必须是在进入配置模式后,且等待上一
次写操作完成。
具体步骤如下:
Step1:等待RTOFF 位被硬件置1;
Step2:设置CNF 位为1,进入配置模式;
Step3:对RTC 寄存器进行写操作;
Step4:清除CNF 位,退出配置模式;
Step5:等待写操作完成,RTOFF 被硬件置1;
3 RTC 标志位说明
SECF:秒中断标志;在计数器更新之前的RTC 时钟周期置位;
OWF:溢出中断标志;在计数器值重装载为0x0 前的一个RTC
时钟周期置位;
ALRF:闹钟中断标志;在计数器的值等于闹钟值的时钟周期内
置位。
注:RTC 闹钟寄存器和计数器的值必须等待SECF 位被置位时才能进行更新。
|