pulseIn()

説明

pin のパルス ローディングタイムについて、もし入力値がHIGHだったら、pulseIn() fはHIGHに成ってからカウントが始まりLOWになったら止まります;あとはパルスタイム(単位:μs、測定可能最大時間は71分)がフィードバックします。逆に指定された時間内にパスルが発生しなかったら、フィードバック値は0になります。
注意:pulseIn()がPWMモードにしか使えないですが、Encoder のattachInterrupt()(ISRとの連携)との共用することができません。

語法


Enc0.pulseIn(pin, state)
Enc0.pulseIn(pin, state, timeout)

Enc1.pulseIn(pin, state)
Enc1.pulseIn(pin, state, timeout)

Enc2.pulseIn(pin, state)
Enc2.pulseIn(pin, state, timeout)

Enc3.pulseIn(pin, state)
Enc3.pulseIn(pin, state, timeout)

変数

ENC0、ENC1、ENC2、ENCのコーディング インターフェースにマッピングします。

pin:パスルを読み込まれるピンを指定します。0 –>ピンAを指定します。、1—> ピン Bを指定します。2 ピン Zを指定します。

state:パスルの読込む形式( HIGH 或いは LOW)を指定します。

timeout:パスル開始時間を指定して待ってて、入力ずにや0を入力すれば、パスルが来る前にずっと待ちます。(unsigned long 形式,単位:us)

フィードバック

パルスタイムの長さ(単位:μs)

#include <Encoder.h>

void setup() {
  Serial.begin(9600);
  Enc0.begin(MODE_CAPTURE);
}

void loop() {
  Serial.println(Enc0.pulseIn(0, HIGH, 1000L));
  delay(100);
}

See also

pulseInNanoseconds()


Libraries Reference Home

The text of the 86Duino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.