找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2820|回复: 1
打印 上一主题 下一主题
收起左侧

arduino EEPROM 无法保存数据问题

[复制链接]
跳转到指定楼层
楼主
ID:389836 发表于 2019-1-12 16:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
arduino 写入数据,断掉重启后,不能保存当前数据,是什么情况,还是我的代码有问题?
#include <EEPROM.h>
int D2_ON=A1;
int D1_OFF=A0;
int OUT=5;
int addr=0;
int state;
void setup() {
Serial.begin(9600);
while(!Serial);
pinMode(D2_ON,INPUT);
pinMode(D1_OFF,INPUT);
pinMode(OUT,OUTPUT);

}

void loop() {
  int i=0;
  int value_ON=digitalRead(D2_ON);
  int value_OFF=digitalRead(D1_OFF);
  if((value_ON==1)||(value_OFF==1)){
    if(value_ON==1){
      state=1;
    }else if(value_OFF==1){
      state=0;
    }
  }

   /*EEPROM.update(i, state);
  if( EEPROM.read(addr)!= state ){
      EEPROM.write(addr, state);
    }*/
    EEPROM.write(addr, state);
    int result= EEPROM.read(i);
    if(result==1){
      digitalWrite(OUT,HIGH);
    }
    if(result==0){
      digitalWrite(OUT,LOW);
    }

    Serial.print(i);

    Serial.print("\n");

    Serial.print("result:");

    Serial.print(result);

    Serial.print("\n");
    delay(10);

}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:832314 发表于 2020-12-24 16:43 | 只看该作者
arduino EEPROM 数据保存方法:
每次写入数据后需要执行 EEPROM.commit(); 函数,才会真正的将数据保存到内部Flash存储中,掉电后不会丢失。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表