RTC初始化:
void Rtc_Init(void)
{
rRTCCON = 0x01; // R/W enable, 1/32768, Normal(merge), No reset
rBCDYEAR = 0x06;
rBCDMON = 0x06;
rBCDDAY = 0x7; // SUN:1 MON:2 TUE:3 WED:4 THU:5 FRI:6 SAT:7
rBCDDATE = 0x03;
rBCDHOUR = 0x08;
rBCDMIN = 0x00;
rBCDSEC = 0x00
rRTCCON = 0x00; //禁止写入
}
读出程序:
int year;
int month,day,weekday,hour,min,sec;
rRTCCON = 0x01; // R/W enable, 1/32768, Normal(merge), No reset
// Uart_Printf("This test should be excuted once RTC test(Alarm) for RTC initialization\n");
while(1)
{
if(rBCDYEAR == 0x99)
year = 0x1999;
else
year = 0x2000 + rBCDYEAR;
month=rBCDMON;
day=rBCDDAY;
weekday=rBCDDATE;
hour=rBCDHOUR;
min=rBCDMIN;
sec=rBCDSEC;
if(sec!=0)
break;
}
Uart_Printf("%4x,%2x,%2x,%s,%2x:%2x:%2x\n",year,month,day,date[weekday],hour,min,sec);
rRTCCON = 0x0; // R/W disable(for power consumption), 1/32768, Normal(merge), No reset
}
请高手帮忙.谢谢!