risexsl 发表于 2017-11-4 22:43:55

求解eeprom不能实现断电保存数据

#include <EEPROM.h>
#define EEPROM_write(address, p) {byte *pp = (byte*)&(p);for(int i = 0; i < sizeof(p); i++) EEPROM.write(address+i, pp);}
#define EEPROM_read(address, p){byte *pp = (byte*)&(p);for(int i = 0; i < sizeof(p); i++) pp=EEPROM.read(address+i);}

String comdata;
String message;

void setup()
{
Serial.begin(9600);
}

void loop()
{
   EEPROM_read(0,message);
   Serial.println(message);   
   delay(1000);
}

void serialEvent()
{
while (Serial.available() > 0)
    {
      comdata += char(Serial.read());
      delay(2);
    }
    if (comdata.length() > 0)
    {
      EEPROM_write(0,comdata);
    }
}


程序和截图全部奉上,eeprom读写方法是从弘毅大哥那里抄过来的。第一次写入然后显示出来都是正常,只要一断电重启再读eeprom就成乱码。
页: [1]
查看完整版本: 求解eeprom不能实现断电保存数据