LPC213x內(nèi)部RTC供電的問題
//時鐘初始化函數(shù)
void RTC_Ini(void)
{
//PREINT = Fpclk / 32768 - 1;// 使用內(nèi)部時鐘,設置基準時鐘分頻器
//PREFRAC = Fpclk - (Fpclk / 32768) * 32768;
YEAR = 2004;// 初化年
MONTH = 11;// 初化月
DOM = 1;// 初化日
CIIR = 0x01;// 設置秒值的增量產(chǎn)生一次中斷
ILR= 0x03;
CCR= 0x11;// 啟動RTC,使用獨立時鐘源
VICIntSelect = 0x00;
VICVectCntl3 = 0x20 | 13;
VICVectAddr3 = (int)RTC_Int;
VICIntEnable |= (1 13);
}
這個RTC初始化函數(shù)摘自一個使用LPC213x內(nèi)部RTC作日歷時鐘的例子。
在初始化代碼中,只設置了年月日寄存器,沒有設置時分秒寄存器,這樣在芯片上電時如果RTC正常工作的話那么其時分秒是正確的,而年月日會恢復到初始值。
實際測試結果是,設置好當前年月日、時分秒,然后拔除開發(fā)板電源后,再上電時,時鐘的年月日恢復到初始值,時分秒走時正確。無論斷電時間長短,測試結果相同。
也就是說,芯片掉電后內(nèi)部RTC使用外部電源和晶振依然可以工作,而且芯片復位并不會影響RTC的工作。
內(nèi)部RTC使用外部電源供電時需要注意:
=============選擇外部晶體振蕩器為RTC時鐘源=============
如果要使用內(nèi)部RTC,那么Vbat引腳必須有電源供電。如果不使用內(nèi)部RTC,那么將該引腳接地。
評論