pulseIn()

Beschreibung

Misst die Dauer eines Pulses an einem Pin. Es kann entweder der Wert LOW oder HIGH übergeben werden. Wenn der übergebene Wert HIGH ist, wird gewartet bis der Pin auf HIGH gezogen wird, startet einen Timer und wenn der Pin wieder auf LOW fällt, stoppt der Timer und die Pulslänge in Mikrosekunden (µs) wird zurückgegeben. Wenn ein Timeout spezifiziert wird, gibt die Funktion nach dieser Dauer den Wert 0 zurück.

Die Funktion wurde nur berechnet und kann bei längeren Pulsen zu Fehlmessungen führen. Die Funktion kann Pulslängen von 10µs bis 3 Minuten messen.

Syntax

pulseIn(pin, wert);
pulseIn(pin, wert, timeout);

Parameter

pin: die Pinnummer des Pins an dem der Puls gemessen werden soll

wert: der Zusatand bei dem der Timer gestartet werden soll, HIGH oder LOW

timeout: die Zeit die die Funktion auf einen Puls wartet, bis sie 0 zurückgibt und beendet wird

Rückagabewert

Die Pulslänge in Mikrosekunden oder 0 wenn kein Puls innerhalb des timeouts gestartet wurde

Beispiel

int pin = 7;
unsigned long dauer;

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

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

Zurück zu Code Referenz

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*


6 + vier =

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>