RTC驱动程序——学习笔记

本文介绍了RTC(Real Time Clock)的基本概念,它依赖32.768KHZ的外部晶振提供精确时间,并在断电时仍能保持准确性。RTC通过脉冲信号和分频器产生128HZ的滴答信号,当计数器归零时触发TIME TICK中断。
摘要由CSDN通过智能技术生成

 一、RTC简介:
RTC(Real Time Clock)是为了给操作系统提供一个可靠的时间,且在断电情况下使用备用电池供电(即在断电情况下,也能确保时间的正确性)。
RTC是通过依靠一个频率为32.768KHZ的外部晶振,产生周期的脉冲信号,每一个脉冲信号到来,计数器(TICNT)减一,来完成计时功能的。
从下图可以看出来,XTIrtc和XTOrtc产生脉冲信号,传给2^15分频器,得到一个128HZ的信号,这个信号就是来产生滴答计数的。当TICNT为0时,产生TIME TICK中断信号。


下面来看RTC的各个寄存器:
1、RTCCON(RTC控制寄存器)
值得注意的是,RTCEN被设置为1时,才能对该寄存器进行读写。所以在电源关闭之前,应清零以防止无效数据写入。

2、TICNT:当设置为127的时候,就是每秒产生一次TIME TICK中断信号。

还有其余的设置时间与闹铃的寄存器,就不一一列举了。


二、RTC驱动程序:
在s3c_rtc_init(void)这个函数中,platform_driver_register(&s3c2410_rtcdrv)了一个平台设备驱动的
static struct platform_driver s3c2410_rtcdrv = {
.probe = s3c_rtc_probe,
.remove = s3c_rtc_remove,
.suspend = s3c_rtc_suspend,
.resume = s3c_rtc_resume,
.driver
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值