概要
Arduinoでは、リセットボタンを押すと初期化がされ、setup()の関数がコールされますが、リセットボタンを押さずにコード上だけでリセットをさせたいときは、アドレス0を指定して実行をする方法があります。
参考: https://www.instructables.com/two-ways-to-reset-arduino-in-software/
コード例
void setup() {
Serial.begin(9600);
Serial.println("started");
}
void(* resetFunc) (void) = 0; //declare reset function @ address 0
void loop() {
delay(1000);
resetFunc(); //call reset
Serial.println("never happens");
}
resetFunc()を呼ぶと、Arduinoがリセットされ、setupから実行されます。



