重新启动Arduino并保留变量

时间:2014-12-18 01:56:18

标签: arduino restart

我想重新启动arduino板但保留一些变量的值。每当我想重新启动时,我的解决方案就是调用setup()。像这样:

int led = 13;
int led2 = 50;
boolean restart = false;

void setup() {     

  pinMode(led, OUTPUT); 
  pinMode(led2, OUTPUT); 

  if(!restart){
    digitalWrite(led, LOW);  // will only happen once
    delay(3000);
  }

  digitalWrite(led, HIGH);   // turn the LED on (and will be always on even after reset)
  restart = true;
  delay(3000);
  digitalWrite(led2, HIGH); // indicate restart is called
  delay(1000);
  digitalWrite(led2, LOW);
  setup();}

void loop() {         }

我在想是否会导致RAM中的大量使用。或者有更好的方法吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

使用EEPROM库。有一个带有中断的按钮可以保存变量,然后在setup()例程中读取变量。

如果您获取或更改信息的速度足够慢,您可以不断写入该值,但要注意此芯片上的EEPROM只能通过每字节100,000次写入认证。