arduino - 为什么我的 ESP8266 的 EEPROM 不工作?

标签 arduino arduino-esp8266 eeprom

我需要将一些值保存到我的 esp 8266 上的 eeprom 中,但它不起作用。当我尝试 EEPROM.commit() 进行一些写入时,出现错误“错误!EEPROM 提交失败”。我用自己的代码对其进行了测试,但它甚至无法与 EEPROM 库中的示例一起使用。我有多个 ESP8266MOD,并对其中一些进行了测试,但没有一个能工作。有人有想法吗?

如果您需要更多信息,我会告诉您

最佳答案

正如我们在评论中讨论的,它不起作用,因为 ESP8266 没有 EEPROM,您的选择是使用闪存来模拟 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() {
}

关于arduino - 为什么我的 ESP8266 的 EEPROM 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68405978/

相关文章:

c - 如何定义 esp32 arduino ble 扫描结果的回调

c++ - Atmel Studio 中的 Arduino 产量

arduino - 使 ESP32 WiFi/蓝牙协同工作

esp8266 - NodeMCU自动加入开放wifi

c++ - EEPROM ESP8266 - 倒问号

c - 如何避免系统设置的 EEPROM 结构中的全局变量?

C:从 char* 创建数组

C++ 指针取消引用乘法

c++ - 可以读/写EEPROM地址但是只能读/写第一个内存页

c++ - C++读取串口设备的方法