關(guān)于儀表模塊這個(gè)功能包含了一個(gè)重要的策略,因?yàn)镈FLASH在每次編寫(xiě)存儲(chǔ)單元之前都必須先擦除它,DFLASH只能保證擦除100,000次,儀表需要儲(chǔ)存累計(jì)里程1,000公里,下面小編告訴大家儀表模塊的具體用途!
以減少擦除次數(shù)為策略,將長(zhǎng)整型的累計(jì)里程基數(shù)按每公里1個(gè)字節(jié)保存起來(lái),即每公里100個(gè)字節(jié),每公里累計(jì)里程基數(shù)按每公里1個(gè)字節(jié)保存起來(lái),
偏移地址加2,然后寫(xiě)到0x0000,直到滿(mǎn)扇區(qū)域?yàn)橹埂R罁?jù)偏移地址判斷扇區(qū)是否寫(xiě)滿(mǎn),扇區(qū)1個(gè)包含256個(gè)字節(jié),扇區(qū)寫(xiě)滿(mǎn)后,下一次累計(jì)里程增加1公里要寫(xiě),

首先擦除扇區(qū),使所有比特都為1,然后向扇區(qū)的頭4字節(jié)寫(xiě)入最新的累計(jì)里程數(shù),作為累計(jì)里程的基數(shù),重新開(kāi)始上述循環(huán),讀取時(shí)根據(jù)累計(jì)里程基數(shù)和偏移地址進(jìn)行計(jì)算。
輸出累積里程。按照這個(gè)策略,累計(jì)里程每多123公里擦除扇區(qū)一次,DFLASH可以保證擦除10萬(wàn)次,也就是說(shuō),累計(jì)里程至少可以達(dá)到1230萬(wàn)公里,遠(yuǎn)超100萬(wàn)公里的要求。
}
EEPROM{//相關(guān)問(wèn)題。
為什么要在EEPROM寫(xiě)入中讀取校驗(yàn)失敗后判斷是否寫(xiě)入了3次------是這樣的話(huà)設(shè)置了寫(xiě)入錯(cuò)誤標(biāo)志。
|-----因?yàn)橐4?個(gè)里程的累積里程數(shù)據(jù)。
EEPROM第一次被使用,其中的數(shù)據(jù)應(yīng)該是0XFF。EEPROM應(yīng)該擦寫(xiě)超過(guò)1000000次。
}
馬達(dá)模組
電動(dòng)機(jī)的起動(dòng)與停止都需要進(jìn)行加速與減速,以避免電動(dòng)機(jī)的失步。這個(gè)過(guò)程可以通過(guò)分段判斷或查表來(lái)控制每一步的運(yùn)行時(shí)間,從而控制電機(jī)的運(yùn)行速度。
以上就是小編幫大家整理的內(nèi)容,希望能幫助到您,更多的請(qǐng)關(guān)注我們網(wǎng)站。