Я хотел бы перезапустить плату arduino, но сохраняя значения некоторой переменной. Мое решение будет вызывать setup()
всякий раз, когда я хотел бы перезапустить. Что-то вроде этого:Перезапуск Arduino и сохранение переменных
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() { }
Я думал, если это приведет к интенсивному использованию в ОЗУ. Или есть какие-то лучшие методы?
спасибо.
Вызов настройки() изнутри setup() приведет к переполнению стека. (И да, это будет использовать всю оперативную память.) – UncleO
ну, может быть, не в setup(), а один раз в цикле() .... (например, когда некоторые кнопки нажимаются/в какой-то ситуации код для начните снова с самого начала) –
Как сказал UncleO, код как есть, обязательно вызовет переполнение стека (BTW: loop() никогда не запустится) – Vagaus