單片機(jī)編程經(jīng)驗(yàn)(三)
經(jīng)驗(yàn)之三、話說ram冗余技術(shù) 所謂的ram冗余,就是: 1、將重要的數(shù)據(jù)信息備份2份(或以上)并存放在ram中不同的區(qū)域(指地址不相連)?! ?、當(dāng)平時對這些數(shù)據(jù)進(jìn)行修改時,同時也更新備份?! ?、當(dāng)干擾發(fā)生并被攔截到“程序錯誤處理段”中時, 將數(shù)據(jù)與備份做比較,采用表決方式(少數(shù)服從多數(shù))選出正確(或可能正確?)的那個?! ?、備份越多,效果越好。(當(dāng)然,你得有足夠的存儲空間)?! ?、只備份最最原始的數(shù)據(jù)。中間變量(指那些可以從原始數(shù)據(jù)重新推導(dǎo)出來的數(shù)據(jù))不必備份, 注: 1、這種思路的理論依據(jù),據(jù)說是源于一種“概率論”,即一個人被老婆打腫臉的概率是很大的,但如果他捂著臉去上班卻發(fā)現(xiàn)全公司每個已婚男人的臉都青了,這種概率是很小的。同理,一個ram寄存器數(shù)據(jù)被沖毀的概率是很大的,但地址不相連的多個ram同時被沖毀的概率是很小的?! ?、前兩年,小匠學(xué)徒時,用過一次這種方法,但效果不太理想。當(dāng)時感覺可能是概率論在我這失效了?現(xiàn)在回想起來,可能是備份的時機(jī)選的不好。結(jié)果將已經(jīng)沖毀的數(shù)據(jù)又備份進(jìn)去了。這樣以來,恢復(fù)出來的數(shù)據(jù)自然也就不對了。