zcllom 发表于 6 天前

你这个都是在同一个扇区里面写入,写满了还是要擦除这个扇区,如果擦除时突然掉电就完蛋了。

zcllom 发表于 6 天前

我是来制造焦虑的,只要是方法还有漏洞,那么实际运行时,必然会触发。特别是扇区写满了来个大擦除的时候,万一刚擦完还没来得及写入新数据就断电了,那就彻底凉凉了,所有的数据都没有了。

cnos 发表于 6 天前

那完蛋了,我的台式机保存文件时踢掉电源也会丢数据,甚至硬盘都可能挂了。

zcllom 发表于 5 天前

cnos 发表于 2025-8-28 20:57
那完蛋了,我的台式机保存文件时踢掉电源也会丢数据,甚至硬盘都可能挂了。 ...
所以看怎么能最大限度地降低数据丢失风险,即使丢失了,能够追溯到最近的上一条记录也能接受,比如用两个扇区做循环保存,一个扇区满了,要存新的数据,就去擦下一个扇区然后保存,这样即便在擦下一个扇区时出了意外断电,但是,后续开机还能追溯到上一个扇区最后部分一条数据就是最接近的新的数据。

zcllom 发表于 前天 11:08

程序里的擦除函数好像有问题,for循环??

#define EEPROM_Size 512

void Erease_EEPROM()
{
    unsigned int i;
    for(i=0;i<EEPROM_Size;i=i+512)
    {
      IapErase(i);
    }
}





页: 1 [2]
查看完整版本: 擎天柱AI8051U均衡写入EEPROM,延长EEPROM寿命(EEPROM大小÷(数据长度+6))倍。