问题描述
我需要将一些值保存到我的 esp 8266 上的 eeprom 中,但它不起作用。当我尝试对 EEPROM.commit() 进行一些写入时,出现错误“错误!EEPROM 提交失败”。我用自己的代码对其进行了测试,但它甚至不适用于 EEPROM 库中的示例。我有多个 ESP8266MOD 并用其中一些进行了测试,但没有一个成功。有人有想法吗?
如果您需要额外的信息,请告诉您
解决方法
正如我们在评论中所讨论的,它不起作用,因为 ESP8266 没有 EEPROM,您可以选择使用 Flash 来模拟 EEPROM。
我没有进行彻底的研究,因为我没有定期使用 ESP8266,但确实尝试了 ESP_EEPROM 库,它似乎运行良好,这是我刚刚测试的代码:
#include <ESP_EEPROM.h>
void setup() {
Serial.begin(115200);
while(!Serial);
EEPROM.begin(16); // looks like 16 bytes is the minimum
EEPROM.put(0,1234); // first parameter sets the position in the buffer,second the value
boolean res = EEPROM.commit();
Serial.println(res); // should print 1 (true) if commit worked as expected
int myVar;
EEPROM.get(0,myVar);
Serial.println(myVar);
}
void loop() {
}