飞快旋转的风车 发表于 2024-7-11 11:36:33

利用STC8H1K17做开发,如何增加EEPROM使用寿命。

本帖最后由 飞快旋转的风车 于 2024-7-11 15:55 编辑

利用STC8H1K17做开发,采样设备做供电与采集,供电时间为180ms,采集时刻不详。供电采样频率为1s1次。初学者,有几个问题想请教一下。
首先声明,硬件电路不具备修改可能性,只能用片上自带的EEPROM实现以下功能

1、这个EEPROM的扇区和地址分配在这个手册里写的内容不太理解,因为这款芯片手册里写自定义,我不太清楚如何定义,是自己去随便定义的还是要怎么操作。

2、想利用芯片自带的EEPROM做数据存储,上电初始化后,先传送上次测量存储的数据,传送完成之后,再开始进行测量,并写入EEPROM等待下次使用。如何实现下次上电后对数据地址位的续写续传。(因为考虑擦写寿命,想在第一次存到0x0001。断电后,读0x0001,然后测量,存0x0002,断电,上电后传0x0002,然后测量,存0x0003,指导存满后,执行一次擦除,然后再继续这样执行。)

3、视频中提到用movc命令执行读取会更迅速,想请大佬明示,具体的执行步骤,或执行代码说明。
4、类似我这种初学者,单从原理的角度上讲,还是比较容易理解视频或教程的;单从c的角度,也是比较容易理解的。但是具体组合实行起来就比较不容易找到突破点,应该如何能进行更好的软硬件原理结合。其实主要还是实行上会比较困难一点,

国学芯用 发表于 2024-7-11 14:24:40

如何提高EEPROM的使用寿命-0等待延时,关于掉电保存数据 [

飞快旋转的风车 发表于 2024-7-11 15:59:49

国学芯用 发表于 2024-7-11 14:24
如何提高EEPROM的使用寿命-0等待延时,关于掉电保存数据 [

现有的情况是之前老项目做改造,硬件电路不具备修改条件,只能从软件着手做这个事情,所以您这个帖子对我现在的项目不具参考性

网老四 发表于 2024-7-11 17:57:03

如果需要在板子上电后先读取以前存储的数据,那么得在EEPROM里设置特殊标志,以便检索到最后数据的保存位置.
这个标志可以利用擦除后未使用过的EEPROM空间内容为0xFF,而采样值都不是0xFF这个特征.
也可以每次多存一个字节特殊标志,每次写采样据时候多写一个标志位,这样下回上电后检索地址最大的标志位来识别下一次写入的EEPROM地址.
页: [1]
查看完整版本: 利用STC8H1K17做开发,如何增加EEPROM使用寿命。