RTC简介
RTC(Real Time Clock)即实时时钟,它是一个可以为系统提供精确的时间基准的元器件,RTC一般采用精度较高的晶振作为时钟源,有些RTC为了在主电源掉电时还可以工作,需要外加电池供电。
RTC内部原理
RTC寄存器
RTC控制寄存器
用于使能RTC控制和闹铃相关控制
RTC时间寄存器
用于存储BCD格式秒
用于存储BCD格式分钟
用于存储BCD格式小时
用于存储BCD格式星期
用于存储BCD格式天
用于存储BCD格式月
用于存储BCD格式年
存储当前的计数值
代码实现:
c
#include "exynos_4412.h"
int main()
{
unsigned int OldSec = 0, NewSec = 0;
/*使能RTC控制*/
RTCCON = RTCCON | 1;
/*校准时间信息*/
RTC.BCDYEAR = 0x023;
RTC.BCDMON = 0x12;
RTC.BCDDAY = 0x7;
RTC.BCDWEEK = 0x31;
RTC.BCDHOUR = 0x23;
RTC.BCDMIN = 0x59;
RTC.BCDSEC = 0x50;
/*禁止RTC控制*/
RTCCON = RTCCON & (~(1));
while(1)
{
NewSec = RTC.BCDSEC;
if(OldSec != NewSec)
{
printf("20%x-%x-%x %x %x:%x:%x\n",
RTC.BCDYEAR,
RTC.BCDMON,
RTC.BCDWEEK,
RTC.BCDDAY,
RTC.BCDHOUR,
RTC.BCDMIN,
RTC.BCDSEC);
OldSec = NewSec;
}
}
return 0;
}