S3C2440 测试程序(二)RTC显示实验
扫描二维码
随时随地手机看文章
源代码:
void RTC_Display(void)
{
U16 year ;
U8 month, day ; // week
U8 hour, minute, second ;
RTC_Time_Set() ;
注: 初始日期和时间的设置
Uart_Printf( "nRTC TIME Display, press ESC key to exit !n" ) ;
while( Uart_GetKey() != ESC_KEY )
{
rRTCCON = 1 ; //RTC read and write enable
year = 0x2000+rBCDYEAR ; //2012
month = rBCDMON ; //??
day = rBCDDATE ; //??
// week = rBCDDAY ; //????
hour = rBCDHOUR ; //???±
minute = rBCDMIN ; //·?
second = rBCDSEC ; //??
rRTCCON &= ~1 ; //RTC read and write disable
Uart_Printf( "RTC time : %04x-%02x-%02x %02x:%02x:%02xn", year, month, day, hour, minute, second );
Delay( 900 ) ;
注:延迟900ms左右,差不多1S显示一次当前时间
}
}
void RTC_Time_Set( void )
{
rRTCCON = 1 ; //RTC read and write enable
注: 在读或写rBCDYEAR这些寄存器时都必须先置一该位
rBCDYEAR = 0x12 ; //设定年
rBCDMON = 0x05 ; //设定月
rBCDDATE = 0x15 ; //设定日
rBCDDAY = 0x05 ; //设定星期
rBCDHOUR = 0x12 ; //设定小时
rBCDMIN = 0x00 ; //设定分钟
rBCDSEC = 0x00 ; //设定秒
注:16进制标志10进制 表示的是0012年 05月 15日,12:00:00
rRTCCON &= ~1 ; //RTC read and write disable
}