有關(guān)實(shí)時(shí)鐘讀取的偏方 作者: 時(shí)間:2012-06-29 來(lái)源:網(wǎng)絡(luò ) 加入技術(shù)交流群 掃碼加入和技術(shù)大咖面對面交流海量資料庫查詢(xún) 收藏 目前多用IIC等串行輸出的實(shí)時(shí)鐘而大多MCU無(wú)硬件IIC,只能通過(guò)IO模擬,如果每秒讀一次占用MCU也不算少,即使帶硬件IIC(C8051F02X等)采用中斷處理因對IIC狀態(tài)標志的判斷散轉也要若干時(shí)間。在大部分情況下,可以有個(gè)省事的處理方式:只在復位后讀一次完整時(shí)間數據,此后時(shí)間更新通過(guò)MCU定時(shí)器(必須設置為自動(dòng)重裝方式以獲得與晶體穩定度一致的精確度),如果對讀一次的數據不放心,可以通過(guò)判斷包含FF等非法數據來(lái)重讀(按我體會(huì ),數據錯讀的都是FF,而重讀基本無(wú)必要,因為大多是RTC內部數據已被沖壞了),也可用多次讀方式(個(gè)人覺(jué)得象畫(huà)蛇添足,我從未這樣處理)。當使用MCU的定時(shí)器來(lái)處理時(shí)間,花費比IIC要省的多,如果儀器每天都開(kāi)關(guān),第二天開(kāi)機獲得的時(shí)間是由RTC自己維持運行的數據。如果你要連續工作一個(gè)月以上,可能程序上要處理大小月等問(wèn)題,或是每當MCU計到23時(shí)01分重讀一次RTC(最好避免在整24時(shí),因可能涉及日、月、年的更新)。附帶說(shuō):MCU定時(shí)器自動(dòng)重裝方式精度與晶體穩定度一致,無(wú)累積誤差。也可采取每分鐘或每小時(shí)讀一次方式,期間計時(shí)仍然由MCU處理。
評論