ARM9硬件接口学习之二 RTC

本文详细探讨了ARM9处理器中实时时钟(RTC)的硬件接口及其工作原理,涵盖了RTC在嵌入式系统中的应用,包括初始化设置、时间读写操作以及RTC在系统中的关键作用。通过实例分析,解释了RTC如何与存储和工作模式配合,为开发者提供了实用的RTC编程指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

在一个嵌入式系统中,实时时钟单元可以其提供可靠的时钟,包括时分秒和年月日;即使在系统处于关机状态下它也能够正常工作(通常采用后备电池供电),它的外围也不需要太多的辅助电路,典型的就是只需要一个高精度的晶振。
 
S3c2410 RTC 特性:
1.时钟数据采用BCD编码
2.能够对闰年的年月日进行自动处理
3.具有告警功能,当系统处于关机状态时,能产生告警中断;
4.具有独立的电源输入
5.提供毫秒级时钟中断,该中断可用于作为嵌入式操作系统的内核时钟
6.使用独立外部时钟晶震,频率为 32.768khz
 
 
RTC相比Watchdog,寄存器比较多。但这里我们只需要先通过实验实现RTC时间的读写功能,因此只要先了解时钟控制寄存器RTCOON、BCD时钟寄存器(SEC、MIN、HOUR等),其他和RTC告警功能等相关的寄存器可以暂时先不管。这样的话RTC接口代码的编写就变得很简单了。 
 
下面分析一下这两个寄存器。
1.钟控制寄存器RTCOON
 
 
RTCEN bit can control all interfaces between the CPU and the RTC, so it should be set to 1 in an RTC control routine to enable data read/write after a system reset.
 
上面这句摘自datasheet。从这句可以知道,读写RTC寄存器前需要先将RTCEN位置1。另外还有一点需要注意的是CNTSEL位,RTC默认是使用BCD编码,这样对BCD时钟寄存器的读写就变得非常方便。
 
2.BCD时钟寄存器
包括 BCDSEC BCDMIN BCDHOUR 等。里面存储时钟对应的 BCD 码。
 
实验为设置和读取RTC的时间。代码很简单,这里就不写了,看一下就知道。只要注意读写 RTC 时钟寄存器前要先打开RTCEN位就行。
 
代码下载:
 
 
文件:rtc.rar
大小:22KB
下载:下载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值