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基本操作/