来自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读取?