nodemcu-写入内存中任意位置的问题

时间:2018-09-07 10:05:01

标签: nodemcu arduino-esp8266

来自esp8266文档:

  

开始读取或写入之前,您需要调用EEPROM.begin(size),size是您要使用的字节数。大小可以在4到4096个字节之间。

当起始地址不是0而是某个xx地址时,我在读取/写入内存时遇到了问题,并且不得不编写小型测试程序来对其进行校验。

第一个代码...

EEPROM.begin(16);
for (int i = 0; i < 16; i++)
{
    EEPROM.write(i, i);
}
EEPROM.commit();
EEPROM.end();         

这没关系。一切都写正确。

但是如果我更改起始地址……

EEPROM.begin(20);
for (int i = 0; i < 20; i++)
{
    EEPROM.write(i+16, i);
}
EEPROM.commit();
EEPROM.end();        

它只写入前4个字节,因为在开始时我请求了20个字节。

我的问题是:这是正常现象还是错误?在文档状态下

  

size是您要使用的字节数

所以如果我只想使用随机地址中的20个字节,我应该写EEPROM.begin(20);吗?

如果开始方法的最大数量是4096,如果不是错误的,如何从地址5000读取?

0 个答案:

没有答案