S3C2440 測(cè)試程序(二)RTC顯示實(shí)驗(yàn)
源代碼:
void RTC_Display(void)
{
U16 year ;
U8 month, day ; // week
U8 hour, minute, second ;
RTC_Time_Set() ;
注: 初始日期和時(shí)間的設(shè)置
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顯示一次當(dāng)前時(shí)間
}
}
void RTC_Time_Set( void )
{
rRTCCON = 1 ; //RTC read and write enable
注: 在讀或?qū)憆BCDYEAR這些寄存器時(shí)都必須先置一該位
rBCDYEAR = 0x12 ; //設(shè)定年
rBCDMON = 0x05 ; //設(shè)定月
rBCDDATE = 0x15 ; //設(shè)定日
rBCDDAY = 0x05 ; //設(shè)定星期
rBCDHOUR = 0x12 ; //設(shè)定小時(shí)
rBCDMIN = 0x00 ; //設(shè)定分鐘
rBCDSEC = 0x00 ; //設(shè)定秒
注:16進(jìn)制標(biāo)志10進(jìn)制 表示的是0012年 05月 15日,12:00:00
rRTCCON &= ~1 ; //RTC read and write disable
}