Arduino-ESP8266-EEPROM存储读取实例,长期测试稳定后的总结

目的:利用8266的内部存储空间一些重要参数,初始化时读取。

前提:要了解存储空间的基本结构,扇区大小,起始位置,长度大小的计算方法等知识。

注意:EEPROM也是有读取次数寿命的,不要过于频繁的读写;大小计算错误会导致溢出或数据重叠等问题

实例核心代码:

#include <EEPROM.h> //应用头文件
//EEPROM(Electrically Erasable Programmable Read-Only Memory),电可擦可编程只读存储器——一种掉电后数据不丢失的存储芯片;不过需要注意的是ESP8266没有硬件EEPROM,使用的是flash模拟的EEPROM


//EEPROM写,读 公共方法(申请内存空间大小,读写首地址,结构体名称)重要
#define EEPROM_write(address,stru) {byte *p_stru = (byte*)&(stru);for(int i = 0;i<sizeof(stru);i++){ EEPROM.write(address+i,p_stru[i]);delay(4);}EEPROM.commit();}//EEPROM.end();
//注意commit和end方法的区别
//EEPROM.write不会立即写入Flash,而是EEPROM.commit()在您希望将更改保存到Flash时必须调用。EEPROM.end()也将提交,并将释放EEPROM内容的RAM副本

#define EEPROM_read(address,stru)  {byte *p_stru = (byte*)&(stru);for(int i = 0;i<sizeof(stru);i++){ p_stru[i]=char(EEPROM
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值