View on GitHub

pages

delayMicroseconds()

ここはdelayMicroseconds() 関数のページです

説明

パラメータで指定された時間(マイクロ秒)だけ、プログラムを一時停止します
1ミリ秒は1,000マイクロ秒、1秒は1,000,000(100万)マイクロ秒です

現在、正確な遅延が得られる最大の値は16383です。これより大きな値を設定すると、極端に短い遅延になることがあります。そのため、数千マイクロ秒以上を指定したい場合はdelayMicroseconds()の代わりにdelay()を使用する必要があります

構文

delayMicroseconds(us)

パラメータ

us: 一時停止させたい時間(マイクロ秒)。型はunsigned int

返り値

なし

サンプルコード

このコードでは、ピン番号8が出力ピンとして動作するように設定し、約100マイクロ秒周期のパルス列を送信します。

int outPin = 8;               // 8番ピンを使用

void setup() {
  pinMode(outPin, OUTPUT);    // デジタルピンを出力2設定
}

void loop() {
  digitalWrite(outPin, HIGH); // デジタルピンをオンに
  delayMicroseconds(50);      // 50マイクロ秒待つ
  digitalWrite(outPin, LOW);  // デジタルピンをオフに
  delayMicroseconds(50);      // 50マイクロ秒待つ
}

注意点

この関数は、3から16383までの範囲で非常に正確に動作します。これより小さい遅延時間では、delayMicrosecondsが正確に動作することを保証することはできません。より大きな遅延時間では、実際には極めて短い時間しか遅延しない可能性があります。

Arduino 0018で、delayMicroseconds()が割り込み禁止にならなくなりました。

出典

このページはArduino公式のページを翻訳したものです(一部意訳を含みます)

一覧に戻る
トップページに戻る