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
查看完整版本: 32G系列的DataFlash/EEPROM连续写入900W次了怎么还没挂,太辛苦了