delay(ms)原文プログラムを指定した時間だけ止めます。単位はミリ秒です(1,000ミリ秒=1秒)。 【パラメータ】 ms: 一時停止する時間 (unsigned long)。単位はミリ秒 このパラメータはunsigned long型です。32767より大きい整数を指定するときは、値の後ろにULを付け加えます。例 delay(60000UL); 【戻り値】 なし 【例】 0.5秒間LEDを点灯させます。 digitalWrite(ledPin, HIGH); delay(500); digitalWrite(ledPin, LOW); 【注意】 delay()を使えば簡単にLEDをチカチカさせることができます。また、スイッチのバウンス対策のためにdelay()を使っているスケッチもよく見られます。ただし、こうしたdelay()の使い方には不利な点があります。delay()の実行中は、計算やピン操作といった他の処理が実質的に止まってしまうのです。delay()の代わりにmillis()を使って時間を測り、タイミングをコントロールするほうがいいでしょう。熟練したプログラマーは、よほどスケッチが簡単になる場合を除き、10ms以上のイベントのコントロールにdelay()を使うことは避けるでしょう。 delay()の実行中も割り込みは有効なので、いくつかの処理は同時に実行可能です。シリアルポート(RX)に届いたデータは記録され、PWM(analogWrite)の状態は維持されます。つまり割り込み処理は影響を受けません。 [目次へ戻る] |
Creative Commons Attribution-ShareAlike 3.0 License.
このドキュメントはArduino Teamにより執筆され、Takumi Funadaが翻訳し、一部加筆修正したものです
ご意見はtf at musashinodenpa.comまでお送りください [Arduino wiki]