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() { }
RAM에 과도한 사용이 발생할 것으로 생각했습니다. 아니면 더 좋은 방법이 있습니까?
감사합니다.
setup() 내부에서 setup()을 호출하면 스택 오버플로가 발생합니다. (예, RAM을 모두 소모합니다.) – UncleO
아마도 setup()에서는 아니지만 while 루프()에서 .... (예 : 일부 버튼을 눌렀을 때/어떤 경우에는 코드가 –
UncleO가 말했듯이 코드가 그대로 스택 오버플로를 유발합니다 (BTW : loop()가 실행되지 않습니다) – Vagaus