使用Arduino芯片将变量保存到EEPROM中

时间:2018-04-09 09:10:26

标签: arduino eeprom

我正在使用Arduino芯片,我希望能够通过将消息发送到串行端口来更改某些参数。出于某种原因,我每24小时对Arduino程序进行一次软件重置。

所以我想把这些参数保存到EEPROM中。

我有两个问题:

  • 如果我想将一个变量写入EEPROM,其值与已保存的变量相同,我确定写入过程不会使用EEPROM.put的循环吗?我知道每个位有10万个周期,所以我想确定。
  • 我想要更改的参数具有在程序开头分配的初始值。如果用户稍后更改了Arduino,那么如何确保Arduino在每日重启后不会将这些初始值重写到EEPROM中?

谢谢。 :)

1 个答案:

答案 0 :(得分:1)

您可以添加名为 initialized 的附加布尔变量。该变量将保存在EEPROM中,您可以检查它,以确保您的程序变量已经初始化。您的潜在计划有伪代码:

byte initialized = EEPROM.read(INITIALIZED_ADDRESS);
if(initialized == 0){
    //write default values another variables to EEPROM
    EEPROM.write(INITIALIZED_ADDRESS, 1);
}

//your program

该程序仅在第一次将初始值写入EEPROM。重启后你不必再重写它们。