2021.4.4

本文探讨了RTC(Real-Time Clock)的工作原理,包括其可编程分频、时钟源选择、复位机制和中断功能。讲解了BKP备份寄存器的作用及常用寄存器配置流程,并通过代码示例和运行图展示配置过程。适合对嵌入式系统和时间管理感兴趣的开发者阅读。
摘要由CSDN通过智能技术生成


RTC(REAL TIME CLOCK)原理

RTC(REAL TIME CLOCK)原理
RTC是个独立的定时器,RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期
RTC模块和时钟配置系统(RCC_B DCR寄存器) 是在后备区域, 即在系统复位或从待机模式唤醒后RTC的设置和时间维持不变。但是在系统复位后, 会自动禁止访问后备寄存器和RTC,以防止对后备区域(BKP) 的意外写操作。所以在要设置时间之前,先要取消备份区域(BKP)写保护。

RTC特征

  • 可编程的预分频系数:分频系数最高为2的20次方
  • 32位的可编程计数器,可用于较长时间段的测量。
  • 2个分离的时钟:用于APB
  • 1接口的PCLK 1和RTC时钟(RTC时钟的频率必须小于PCLK 1时钟频率的四分之一以上)。
  • 可以选择以下三种RTC的时钟源:
    HSE时钟除以128
    LSE振荡器时钟
    LSI振荡器时钟
  • 2个独立的复位类型:
    APB 1接口由系统复位
    RTC核心(预分频器、闹钟、译数器和分频器) 只能由后备域复位
  • 3个专门的可屏蔽中断:
    闹钟中断,用来产生一个软件可编程的闹钟中断。
    秒中斯,用来产生一个可编程的周期性中断信号(最长可达1秒)
    溢出中断,指示内部可编程计数器溢出并回转为0的状态。

RTC工作原理图

在这里插入图片描述

BKP备份寄存器

①备份寄存器是42个16位的寄存器。可用来存储84个字节数据。
②它们处在备份区域,当VDD电源切断, 仍然由VB AT维持供电。
③当系统在待机模式下被唤醒,或者系统复位或者电源复位,它们也
不会复位。
④执行以下操作将使能对后备寄存器和RTC访问:
设置寄存器RCC_APB1ENR的P WREN和BK PEN位, 使能电源和后备时钟。
设置寄存器PWR_CR的DBP位,使能对RTC和后备寄存器的访问。

RTC常用寄存器

RTOFF:RTC操作关闭
CNF:配置标志
RSF:寄存器同步标志
OWF:溢出标志
ALRF:闹钟标志
SECF:秒标志
①修改CRH/CRL寄存器,必须先判断RSF位,确定己经同步
②修改CNT, ALR, PRL的时候,必须先配置CNF位进入配置模式,修改完之后,设置CNF位为0退出配置模式
③同时在对RTC相关寄存器写操作之前,必须判断上一次写操作已经结束,也就是判断RT OFF位是否置位

配置过程

1.查询RT OFF位, 直到RT OFF的值变为’1’
2、置CNF值为1, 进入配置模式
3.对一个或多个RTC寄存器进行写操作
4.清除CNF标志位, 退出配置模式
5.查询RT OFF, 直至RT OFF位变为’1’以确认写操作已经完成。仅当CNF标志位被清除时, 写操作才能进行, 这个过程至少需要3个RTC CLK周期。

代码

判断是否配置时钟
判断是否配置
配置过程
在这里插入图片描述
在这里插入图片描述

运行图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值