252 字
1 分钟
ESP8266 EEPROM基本操作

关于 ESP8266 的 EEPROM#

ESP8266 中 EEPROM 采用的是虚拟内存的方式:

  • 首先,ESP8266 需要将 EEPROM 中的数据读取到缓存中
  • 然后,ESP8266 在缓存中进行读写操作,不会直接改变 EEPROM 中的数据
  • 最后,在需要保存修改的时候,ESP8266 会一次性擦拭整个区块,并写入新的数据

从 ROM 加载到缓存#

每次需要读写 ROM 都需要先加载到缓存中,EEPROM.begin() 就是从0地址开始加载指定大小到缓存中:

EEPROM.begin(size_t size);

读操作#

对于 EEPROM 的读操作而言,EEPROM.begin() 是必须的,而 EEPROM.end() 并不是必须的,但在 end() 之后,必须重新 begin() 才能正常读取内存:

EEPROM.begin(size_t size);
uint8_t val = EEPROM.read(int const address)
EEPROM.end();

写操作#

对于 EEPROM 的写操作而言,EEPROM.begin()EEPROM.end() 都是必须的,在程序运行过程中运行的 write() 操作是在虚拟内存上,必须通过 end()commit() 提交对应的修改:

EEPROM.begin(size_t size);
EEPROM.write(int const address, uint8_t const val);
EEPROM.end(); // EEPROM.commit();
ESP8266 EEPROM基本操作
https://fuwari.vercel.app/posts/嵌入式/esp/esp8266-eeprom基本操作/
作者
Asuwee
发布于
2025-09-05
许可协议
CC BY-NC-SA 4.0