標(biāo)題: STC8芯片的EEPROM只能寫入讀取擦除 重寫擦除一正片扇區(qū) 有沒有寫好的函數(shù)用 [打印本頁]

作者: 夕口山關(guān)    時間: 2023-11-21 14:58
標(biāo)題: STC8芯片的EEPROM只能寫入讀取擦除 重寫擦除一正片扇區(qū) 有沒有寫好的函數(shù)用
STC8芯片的EEPROM只能寫入讀取擦除 重寫擦除一正片扇區(qū) 有沒有寫好的函數(shù)用(先寫到另一扇區(qū) 再擦除原先扇區(qū) 再把要修改的修改完再寫回原來的扇區(qū) 再把另一扇區(qū)擦除)

作者: 電控mmbd    時間: 2023-11-21 16:28
這種操作不科學(xué),一是會縮短FLASH壽命,二是增加了整個操作的時長,三是數(shù)據(jù)會有一定的風(fēng)險。
作者: 123156fsadf    時間: 2023-11-21 16:41
電控mmbd 發(fā)表于 2023-11-21 16:28
這種操作不科學(xué),一是會縮短FLASH壽命,二是增加了整個操作的時長,三是數(shù)據(jù)會有一定的風(fēng)險。

確實,沒必要這么搞。如果要存的數(shù)據(jù)比較短,就幾十字節(jié)的話,可以循環(huán)存在一塊空間里面,上電找最后存的記錄就可以,存滿了再擦除,寫條新的記錄就
作者: zhuls    時間: 2023-11-21 17:06
官方說能寫10W次。一天10次,能寫1W天,近30年。夠了嗎?
作者: 君工創(chuàng)    時間: 2023-11-21 20:08
這樣搞三角戀不好吧。
作者: wulin    時間: 2023-11-21 21:34
將某扇區(qū)數(shù)據(jù)讀到緩存,修改相關(guān)數(shù)據(jù)后,擦除原扇區(qū),再將修改后的數(shù)據(jù)寫入原扇區(qū)。
作者: 夕口山關(guān)    時間: 2023-11-22 10:52
wulin 發(fā)表于 2023-11-21 21:34
將某扇區(qū)數(shù)據(jù)讀到緩存,修改相關(guān)數(shù)據(jù)后,擦除原扇區(qū),再將修改后的數(shù)據(jù)寫入原扇區(qū)。

緩存不夠用了。。
作者: 夕口山關(guān)    時間: 2023-11-22 10:55
123156fsadf 發(fā)表于 2023-11-21 16:41
確實,沒必要這么搞。如果要存的數(shù)據(jù)比較短,就幾十字節(jié)的話,可以循環(huán)存在一塊空間里面,上電找最后存的 ...

我也不確定存多少 但好像需要存1k左右字節(jié)
作者: npn    時間: 2023-11-22 11:20
電控mmbd 發(fā)表于 2023-11-21 16:28
這種操作不科學(xué),一是會縮短FLASH壽命,二是增加了整個操作的時長,三是數(shù)據(jù)會有一定的風(fēng)險。

使用 do{ ... } while();寫進去再讀出來比較以保證數(shù)據(jù)正確寫入,電壓過低不要對EEPROM執(zhí)行寫、擦除可能會失敗。
作者: STC新未來    時間: 2023-11-22 14:53
樓主好,可參考他們官方STC-ISP(6.92G)上的范例程序


做以下修改


這個是單字節(jié)的寫入和扇區(qū)的擦除,可以直接一個for把一個扇區(qū)的字節(jié)都挪到另一個扇區(qū),在擦除這個扇區(qū)就好了
如果還有疑問可去他們STCAI官方咨詢

作者: chxelc    時間: 2023-11-22 15:29
感覺更麻煩,沒有優(yōu)勢。
作者: 夕口山關(guān)    時間: 2023-12-2 15:36
STC新未來 發(fā)表于 2023-11-22 14:53
樓主好,可參考他們官方STC-ISP(6.92G)上的范例程序

好 謝謝
作者: 大漠落日    時間: 2023-12-2 22:01
不常改動的可以用,經(jīng)常修改的數(shù)據(jù),還是用片外的存儲器吧。
作者: 清風(fēng)皓月?lián)嵝睦@    時間: 2023-12-4 14:46
參考以下藍橋杯的源碼,里面有寫好的底層函數(shù)




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1