Arduinoリファレンス

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

名称

pulseIn()

説明

ピンからパルス(HIGHもしくはLOW)を読み取る。たとえば、valueがHIGHのとき、pulseIn()は、ピンがHIGHになるのを待ち、時間計測を開始する。その後、ピンがLOWになるのを待ち、時間計測を終了する。パルスが入力されていた時間をマイクロ秒単位で返却する。タイムアウト値を指定したときは、指定したタイムアウト時間内にパルスが開始されないとタイムアウトし、0を返却する。

この関数のタイミングは経験的に決められているので、短いパルスに対してはエラーとなる(訳者註:この関数では、時刻をループの回数から求めているため)。パルスの長さが10マイクロ秒から3分の間で動作する。

また、この関数が呼ばれたときにすでにピンがHIGHのときは、LOWになるまで待った後、HIGHになってから計測を開始する。このルーチンは割り込みが有効になっているときにだけ利用できる。さらに言うと、短い間隔の時に最高の分解能が得られる。

書式

unsigned long pulseIn(uint8_t pin, uint8_t state);

unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout));

引数

pin パルスを読み取りたいピン。
state 読みだすパルスの型。HIGHもしくはLOW。
timeout パルスが完了するまでのタイムアウト時間(マイクロ秒)。デフォルトは1秒。

戻り値

パルスが発生していた時間(マイクロ秒)。タイムアウトが発生した時は0.

注意

特になし

使用例

int pin = 7;
unsigned long duration;

void setup()
{
  pinMode(pin, INPUT);
}

void loop()
{
  duration = pulseIn(pin, HIGH);
}

バージョン

Arduino 1.8.5

オリジナルのページ

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

実装の解析

pulseIn()



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

inserted by FC2 system