其实很简单哈,核心就四个函数,申请空间函数,写入函数,保存函数,读取函数,我这里用一个IO读取其状态来代表读取还是写入状态(不知道IO操作的看我之前的博文),然后写入的值移植在0-100之间变化,所以你在更换状态之后就可以看到写模式最后写入的值,而且你关机重启,他仍然处于读取状态,读取的值任然是之前的值。
#include
int num = 0;
void setup() {
Serial.begin(115200);
EEPROM.begin(4096); //申请空间,传入参数为size,为需要读写的数据字节最大地址+1,取值1~4096;
Serial.println("ESP 32 内部存储测试");
pinMode(15, INPUT_PULLUP );
}
void loop() {
delay(500);
if(digitalRead(15) == 0)
{
num++;
if(num == 100) num = 0;
Serial.print("ESP 32 写入模式,写入:");
Serial.println(num);
//写数据,里面传入的参数为地址和写入的数据,8位,如果是很大的数可以分高低位存进去或者封装一些读取写入指定长度的函数,或者看后面的注意点里面有提到
EEPROM.write(20, num);delay(1);
EEPROM.commit();delay(1); //在写好所有的更改之后,保存更改的数据
}
else
{
Serial.print("ESP 32 读取模式,取出数据:");
Serial.println(EEPROM.read(20)); //读数据,里面填写的参数为地址,需要与上面的写入地址一样才可以正常读出上面我们写入的数据
}
}