|
我做了一個(gè)時(shí)鐘,用的時(shí)鐘芯片是DS3231,DS3231有鈕扣電池供電,理論上時(shí)間會(huì)一直走不會(huì)停。
根據(jù)數(shù)據(jù)手冊(cè),寄存器中的OSF位是振蕩器停止標(biāo)志。
我在程序中寫了一段代碼,MCU通電時(shí)讀取3231的OSF位,如果為1則認(rèn)為3231為初次通電或中途斷過電,就執(zhí)行初始化動(dòng)作(重新寫入各設(shè)定參數(shù)和時(shí)間數(shù)據(jù))。
------------------------------------
現(xiàn)在出現(xiàn)的問題是,系統(tǒng)有時(shí)無(wú)緣無(wú)故就被初始化了。- 我這段代碼寫入的時(shí)間數(shù)據(jù)很特殊(也只有這段程序會(huì)寫這個(gè)特殊數(shù)據(jù)),很明顯能看出來(lái),MCU是讀取了OSC位為1,然而重新寫入了時(shí)間數(shù)據(jù)。
- 不是單單某片DS3231不好,我做了兩個(gè)不同的時(shí)鐘,也都出現(xiàn)為個(gè)問題。
- 似乎是在主電源斷電(鈕扣電池供電)期間出現(xiàn)的,我以前做的一個(gè)時(shí)鐘是長(zhǎng)期供電的,就沒出現(xiàn)這個(gè)問題
- 鈕扣電池是焊接在電路板上的,不存在接觸不良的情況。
-------------------------------------
現(xiàn)在要問的是,DS3231的OSF位是不是這么不穩(wěn)定呢?還是說(shuō)是什么因素導(dǎo)致我的DS3231不穩(wěn)定?
|
|