内部EEPROM一次性读出一个扇区的方法,有没有?
要改写某项数据,就要先读出、再擦除、再写入。读和写只能一字节一字节在读,写入也只能一字节一字节地写吗?那写入一扇区(512)要多久
手册上说的:编程 1 字节: 约 30~40us,512*30/1000,一扇区就是要15~20mS, 再加上读512B、出擦除扇区、数据操作的时间==,
在系统完全掉电前能写好数据到EEPROM吗?
同一次修改的数据放在同一个扇区,
不是同一次修改的数据放在不同的扇区
神农鼎 发表于 2023-10-21 15:09
同一次修改的数据放在同一个扇区,
不是同一次修改的数据放在不同的扇区
...
读只能一字节一字节地读出吗? 神农鼎 发表于 2023-10-21 15:09
同一次修改的数据放在同一个扇区,
不是同一次修改的数据放在不同的扇区
...
不管如何存放,哪怕只改写一个字节,也是要读出整个扇区到xdata缓存中,修改完后再依次写入EEPROM中。
这个过程是绕不开的。我想要的是一次性操作整个扇区的方法,而不是一字节一字节地读或写。
另外,数据比较多,外部存放用到了24C64,{:dizzy:}所以,再如何归类都是空谈,优化不了所有的同一次修改的放在一个扇区,总是有例外的。。 同一次修改的数据放在同一个扇区,
不是同一次修改的数据放在不同的扇区
===直接擦完,就修改,无需读出保护
AT24C64 也就 8K字节,
STC32G12K128, 你可以64K当程序,64K/128个扇区当 DATA-FLASH/EEPROM 神农鼎 发表于 2023-10-21 16:35
同一次修改的数据放在同一个扇区,
不是同一次修改的数据放在不同的扇区
谢谢~我再捋捋 32G手册给出的是一次读出一个字节,你可以整个循环,让它读出 可以自己写一个读写数据的函数,模拟AT89系列单片机,可以随意读写定义在EEPROM中的变量。 stc-isp中有多个字节读写的例程,你可以参考一下。
页:
[1]
2