我想重新启动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中的大量使用。或者有更好的方法吗?
谢谢。
答案 0 :(得分:0)
使用EEPROM库。有一个带有中断的按钮可以保存变量,然后在setup()例程中读取变量。
如果您获取或更改信息的速度足够慢,您可以不断写入该值,但要注意此芯片上的EEPROM只能通过每字节100,000次写入认证。