delayMicroseconds()

Beschreibung

Hält das Programm für die als Parameter angegebene Zeit (in Mikrosekunden) an. Es gibt tausend Mikrosekunden in einer Millisekunde und eine Million Mikrosekunden in einer Sekunde.

Derzeit ist der größte Wert, der eine genaue Verzögerung erzeugt, 16383. Dies könnte sich in zukünftigen Arduino-Releases ändern. Bei Verzögerungen von mehr als einigen tausend Mikrosekunden sollte stattdessen delay() verwendet werden.

Syntax

delayMicroseconds(us)

Parameter

  • us: die Anzahl der Mikrosekunden, die angehalten werden sollen. Erlaubte Datentypen: unsigned int.

Rückgabewert

Nichts.

Beispielcode

Beispielcode 1

Der Code konfiguriert Pin 8 als Ausgangspin. Er sendet eine Impulsfolge von ungefähr 100 Mikrosekunden.

Die Annäherung beruht auf der Ausführung der anderen Anweisungen im Code.

int outPin = 8; // Digitalpin 8 void setup() { pinMode(outPin, OUTPUT); // Digitalpin als Output setzen } void loop() { digitalWrite(outPin, HIGH); // Pin auf HIGH setzen delayMicroseconds(50); // 50 Mikrosekunden warten digitalWrite(outPin, LOW); // Pin auf LOW setzen delayMicroseconds(50); // 50 Mikrosekunden warten }

Beispielcode 2

Generate a 10-microsecond pulse for use in ultrasonic sensor

int trigPin = 9; // TRIG pin int echoPin = 8; // ECHO pin float duration_us, distance_cm; void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); } void loop() { // generate a 10-microsecond pulse to TRIG pin digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration_us = pulseIn(echoPin, HIGH); // measure duration of pulse from ECHO pin distance_cm = 0.017 * duration_us; // calculate the distance // print the value to Serial Monitor Serial.print("distance: "); Serial.print(distance_cm); Serial.println(" cm"); delay(500); }

※ Anmerkungen und Warnungen:

Diese Funktion arbeitet im Bereich von 3 Mikrosekunden und mehr sehr genau. Wir können nicht garantieren, dass delayMicroseconds() genau für kürzere Verzögerungszeiten funktionieren.

delayMicroseconds() deaktiviert ab Arduino 0018 keine Interrupts mehr.

Siehe Auch

ARDUINO KAUFEMPFEHLUNG

Arduino UNO R3
Arduino Starter Kit
Bitte Beachten: Dies sind Partnerschaftslinks. Wenn Sie die Komponenten über diese Links Kaufen, können wir eine Provision erhalten, ohne weitere Kosten für Sie. Wir Schätzen es.

※ UNSERE BOTSCHAFTEN