PR

Arduinoのsetup()とloop() ~ 隠されたmain()

Arduinoでは、最初にsetup関数で初期設定を行い、その後はloop関数に書いたコードが繰り返し実行される。このとき、「loop関数が繰り返し実行される」のであって、「loop関数の中身が繰り返し実行される」のではない。つまり、こういうこと。

  • ソースコード
void setup() {
	Serial.begin(9600);
}

void loop() {
	int i = 0;
	static int j = 0;

	Serial.print("i: ");
	Serial.print(i++);

	Serial.print("  j: ");
	Serial.println(j++);
}
  • 実行結果

loop()の中で何気なくローカル変数を使うとはまる…。

「実はmain()があって、次のようにsetup()を一度、その後loop()を繰り返し呼んでいる」と考えるとスッキリする(C言語から来た者にとっては)。

int main() {
	setup();

	while (1) {
		loop();
	}
}
自作
この記事のタイトルとURLをコピーする
スポンサーリンク
スポンサーリンク
スポンサーリンク
jh4vaj

コメント