Arduinoリファレンス

Arduinoリファレンスの日本語訳のページです
garretlab
delay()

名称

delay()

説明

パラメータで指定した時間(ミリ秒単位)だけプログラムを一時停止する。1秒は1000ミリ秒である。

書式

void delay(unsigned long ms)

引数

ms 一時停止する時間(ミリ秒単位)

戻り値

なし

使用例

int ledPin = 13; // デジタルピンの13番に接続されているLED

void setup() {
        pinMode(ledPin, OUTPUT); // デジタルピンを出力に設定する
}

void loop() {
        digitalWrite(ledPin, HIGH); // LEDを点ける
        delay(1000); // 1秒待つ
        digitalWrite(ledPin, LOW); // LEDを消す
        delay(1000); // 1秒待つ
}

注意

delay()関数を使ってLEDを点滅させることは簡単だし、多くのスケッチではスイッチのチャタリングを防止するために少しの遅延を利用しているが、スケッチ でdelay()を利用することには重大な欠点がある。delay()関数を使っている間は、センサーから値を読み取ったり、計算をしたり、ピンの制御を行うことができない。その結果、ほとんどの動作を止めてしまう。タイミングを制御する別の方法を知りたいときには、millis()関数や参考のスケッチを参考にしてほしい。精通したプログラマは、スケッチが非常に単純であるとき以外は、10ミリ秒以上の時刻イベントを扱うときにはdelay()関数を利用しない。

delay()関数は割り込みを禁止しないので、delay()の実行中も、Atmegaチップの制御を行うための処理は実行される。RXピンを使ったシリアル通信は記録さ れ、PWM(analogWrite())波とピンの状態は保持され、割り込みは意図したとおりに動作する。

バージョン

Arduino 1.8.2

オリジナルのページ

https://www.arduino.cc/en/Reference/Delay

実装の解析

delay()



メニューを表示するためにJavaScriptを有効にしてください。

inserted by FC2 system