feiyu
发表于 2024-3-6 15:23:12
飞捷 发表于 2024-3-6 15:19
你是读EEPROM到BUF,然后再刷新BUF【ADDR】为次数,然后再把写入EEPROM,这过程中,你一直在读BUF
这是读取eeprom里面N个数据,改变其中要更改的数据再写入eeprom,因为擦除片区会全部置0xFF,所以其他不需要改的数据要先读出来,这里逻辑没问题
feiyu
发表于 2024-3-6 15:26:23
飞捷 发表于 2024-3-6 15:19
你是读EEPROM到BUF,然后再刷新BUF【ADDR】为次数,然后再把写入EEPROM,这过程中,你一直在读BUF
我数值每次+1就进了这个函数,进行了一次擦除写入,没毛病。
xxkj2010
发表于 2024-3-6 15:50:12
有空也可以拿个STC8H试试
21cnsound
发表于 2024-3-6 16:08:38
飞捷 发表于 2024-3-6 14:36
代码看了,主函数没有贴出来。你是1毫秒保存一次,读取一次,你得先查一下擦除一个片区需要多少时间?你 ...
EEPROM的IAP操作过程中系统处于IDLE状态(读写擦除完成后才可能执行后面的代码),代码中的延迟应该和读写擦除操作时间没关系吧?
读写擦除的时间是由寄存器IPA_TPS控制的,只要时钟和寄存器IPA_TPS设置合理就不会出现你担心的问题。
飞捷
发表于 2024-3-6 16:42:55
feiyu 发表于 2024-3-6 15:23
这是读取eeprom里面N个数据,改变其中要更改的数据再写入eeprom,因为擦除片区会全部置0xFF,所以其他不 ...
监控这个temp才对
xlmttkl
发表于 2024-3-6 16:59:41
是不是写后再读的时间间隔太短了
feiyu
发表于 2024-3-6 17:13:30
本帖最后由 feiyu 于 2024-3-6 17:17 编辑
飞捷 发表于 2024-3-6 16:42
监控这个temp才对
你没理解我的读写算法,我是拆成2个int存的,用函数Mdata_Read_Long读取的是同一个位置
飞捷
发表于 2024-3-6 17:30:35
feiyu 发表于 2024-3-6 17:13
你没理解我的读写算法,我是拆成2个int存的,用函数Mdata_Read_Long读取的是同一个位置 ...
静静等待多少次才坏
feiyu
发表于 2024-3-6 17:32:38
飞捷 发表于 2024-3-6 17:30
静静等待多少次才坏
目前还没坏,我调别功能了,另外找了新的两个来测,新的目前200w次了也没出问题
激流
发表于 2024-3-6 19:33:39
在STC8G1K17上做过类似测试(主频24MHz,读写周期约1mS),同一地址擦除后读出判断为0Xff否,写入0x00后读出判断是否一致,约8小时能擦写坏部分位。
页:
1
2
3
[4]
5
6
7
8
9
10
11