https://www.arduino.cc/en/hacking/bootloaderhttps://www.arduino.cc/en/hacking/bootloader
https://www.arduino.cc/en/Hacking/MiniBootloaderhttps://www.arduino.cc/en/Hacking/MiniBootloader
Arduinoは電源投入時にまずBoot Loaderが起動する。
シリアル通信をチェックして新しいプログラムが送られてこないか確認する。
来なかったらメインのプログラムを実行する。
なので少しタイムラグが発生するはずだ。
1 2 3 4 5 6 7 8 9 |
void setup(){ pinMode(5, OUTPUT); digitalWrite(5, LOW); } void loop(){ digitalWrite(5, HIGH); while(1); } |
上のスケッチを実行したときの電源と5ピンの信号の様子が下。
電源投入後71msでピンがHighになる。
正確には71313usだ。
1 2 3 4 5 6 7 |
void setup(){ pinMode(5, OUTPUT); digitalWrite(5, HIGH); } void loop(){ } |
当たり前だが、上のようにしたとしても20us程度しか違わないわけで、ほとんどがプログラム用のシリアルのチェックの時間なんだろう。
Tweet