EEPROM写入读取

读取

/*
该代码从EEPROM读取4096字节数据
*/
#include <EEPROM.h>
int addr = 0;
void setup() 
{
  Serial.begin(115200);
  Serial.println("");
  Serial.println("Start read");

  EEPROM.begin(4096); //申请操作到地址4095(比如你只需要读写地址为100上的一个字节,该处也需输入参数101)
  for(addr = 0; addr<4096; addr++)
  {
    int data = EEPROM.read(addr); //读数据
    Serial.print(data);
    Serial.print(" ");
    delay(2);
    if((addr+1)%256 == 0) //每读取256字节数据换行
    {
      Serial.println("");
    }
  }

  Serial.println("End read");
}

void loop() 
{
}

写入

/*
该代码向EEPROM写入4096字节数据
*/
#include <EEPROM.h>

int addr = 0; //EEPROM数据地址

void setup() 
{
  Serial.begin(115200);
  Serial.println("");
  Serial.println("Start write");

  EEPROM.begin(4096); //申请操作到地址4095(比如你只需要读写地址为100上的一个字节,该处也需输入参数101)
  for(addr = 0; addr<4096; addr++)
  {
    int data = addr%256; //在该代码中等同于int data = addr;因为下面write方法是以字节为存储单位的
    EEPROM.write(addr, data); //写数据
  }
  EEPROM.commit(); //保存更改的数据

  Serial.println("End write");
}

void loop() 
{
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容