2019-12-12 18:17发布
hyper320 发表于 2019-3-19 01:25 EEProm清除时都是0xff,若是16位资料,我的方法是搜寻为0xffff的16位资料,即是最后的资料,当然写入的资料不能 ...
Elex 发表于 2019-3-19 08:49 这个方法写满数据就不好使了,楼主一次需要写1000条数据估计很快就写满了。 如果每次记录数据长度基本一 ...
最多设置5个标签!
这个方法写满数据就不好使了,楼主一次需要写1000条数据估计很快就写满了。
如果每次记录数据长度基本一致的话可以按数据长度的固定间隔来记录数据,每次记录的头4位作为记录顺序号。
上电的时候找到上次记录的顺序号保存在RAM里面,每次记录前算出新的顺序号和对应地址可以直接按新的顺序号和地址写入数据。
数据格式和长度都是固定的,按你的方法,如果时间久了记录在eeprom循环多次,上电后如何知道那个记录号是最接近一次存储的,我想到的方法是:写入新记录后,给下一个存记录的位置写入特征码,如果再有新数据来,就覆盖掉现有特征码,在其下一组位置写入特征码,依次往下推,每次上电查看特征码就可以知道最近一次写在那个位置。
1.仅上电执行一次,应该不在乎这些时间
2.依照您的方式,又要多占记忆空间
3.依照楼主的意思,满了覆盖旧资料,修正方法为连续两笔都为0xffff则空,否则写完资料后再清除下笔资料为0xffff,并设置标志位,下次的写入就不用再判断是否有空间,而直接用资料满的方式做处理,而清除时下完命令就可离开不必等命令完成,与正常写入时间类似,而下次先判断上次命令的结束再做处理,这应该是最省事的处理方式了,因为不管怎么处理,最后都要面对资料空间满的处理方式.
一周热门 更多>