delayMicroseconds()

名称

delayMicroseconds()

説明

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

現状, 正確に生成できる遅延の最大値は16383である。これより大きい値では、極端に短い遅延を生成するかもしれない。これは、将来のArduinoリリースで変更される可能性がある。数千マイクロ秒よりも長い遅延が必要なときは、delay()を利用すること。

書式

void delayMicroseconds(unsigned int us);

引数

us一時停止する時間(マイクロ秒単位)

戻り値

なし。

使用例

以下のコードでは、8番ピンを出力に設定する。約100ミリ秒ごとにパルスを発生させる。概算なのは他の命令が実行されるためである。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
int outPin = 8;               // digital pin 8

void setup() {
  pinMode(outPin, OUTPUT);    // sets the digital pin as output
}

void loop() {
  digitalWrite(outPin, HIGH); // sets the pin on
  delayMicroseconds(50);      // pauses for 50 microseconds
  digitalWrite(outPin, LOW);  // sets the pin off
  delayMicroseconds(50);      // pauses for 50 microseconds
}

注意

この関数は、3マイクロ秒から16383マイクロ秒の範囲でとても正確に動作する。非常に小さい遅延時間に対しては、delayMicroseconds()の精度は保障できない。大きい遅延時間を指定すると、実際には極端に短い遅延を生成するかもしれない。

Arduino 0018以降から、delayMicroseconds()は割り込み禁止にしない。

参照

オリジナルのページ

https://www.arduino.cc/reference/en/language/functions/time/delaymicroseconds/

Last Revision: 2021/09/07

実装の解析

delayMicroseconds()

最終更新日

January 4, 2024

inserted by FC2 system