概要

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から実行されます。

Arduino

Related Posts

ArduinoのpulseInで割り込み処理ができるようにする
ArduinoのpulseInで割り込み処理ができるようにする
概要 超音波センサーHC-SR04等を用いてArduinoで距離計測を行いたいときに、Trigピンで超音波を発生させた後にEchoピンで、超音波が反射されてくるまでの時間を計測することで距離を計測できます。その際、pulseInという...
Read More
DCモータ制御で配線が複雑になる場合はDCモータコントローラシールドMD04を使うと便利!
DCモータ制御で配線が複雑になる場合はDCモータコントローラシールドMD04を使うと便利!
概要 DCモータを動作させる際は、モータコントローラを用いると便利ですが、それでも複数のモータを動作させようとしたときには配線がごちゃごちゃになってしまいがちです。そのような時は、シールドタイプのDCモータコントローラを使えば、マイコ...
Read More
Arduino Nano互換ボードで書き込めない時はプロセッサを確認
Arduino Nano互換ボードで書き込めない時はプロセッサを確認
概要 安価なArduino Nano互換ボードを使っていると、Arduino IDEで書き込みができずにエラーになってしまうことがあります。本記事ではその対処法について解説をします。 対処法 書き込み時にエラーが出る原因はさまざまな...
Read More