delay()

Beschreibung

Unterbricht das Programm für die als Parameter angegebene Zeit (in Millisekunden). (Es gibt 1000 Millisekunden in einer Sekunde.)

Syntax

delay(ms)

Parameter

  • ms: die Anzahl der Millisekunden, die angehalten werden sollen. Erlaubte Datentypen: unsigned long.

Rückgabewert

Nichts.

Beispielcode

Der Code hält das Programm für eine Sekunde an, bevor der Ausgangs-Pin umgeschaltet wird.

int ledPin = 13; // LED auf Digitalpin 13 void setup() { pinMode(ledPin, OUTPUT); // Setzt den digitalen Pin als Ausgang } void loop() { digitalWrite(ledPin, HIGH); // LED an delay(1000); // Eine Sekunde warten digitalWrite(ledPin, LOW); // LED aus delay(1000); // Eine Sekunde warten }

※ Anmerkungen und Warnungen:

Während es einfach ist, eine blinkende LED mit der Funktion delay() zu erstellen, und viele Sketchn kurze Verzögerungen für Aufgaben wie das Entprellen des Switches verwenden, hat die Verwendung von delay() in einem Sketch erhebliche Nachteile. Während der Verzögerungsfunktion kann kein anderes Lesen von Sensoren, mathematischen Berechnungen oder Pin-Manipulationen durchgeführt werden, sodass die meisten anderen Aktivitäten zum Erliegen kommen. Für alternative Ansätze zum Steuern des Timings siehe den Blinken ohne Verzögerung-Sketch, welcher über Schleifen die Funktion millis() abfrägt, bis genügend Zeit vergangen ist. Erfahrene Programmierer vermeiden normalerweise die Verwendung von delay() für das Timing von Ereignissen, die länger als 10 Millisekunden sind, es sei denn, der Arduino-Sketch ist sehr einfach.

Bestimmte Dinge laufen jedoch weiter, während die delay()-Funktion den Atmega-Chip steuert, da die delay()-Funktion Interrupts nicht deaktiviert. Die serielle Kommunikation, die am RX-Pin erscheint, wird aufgezeichnet, die Werte für PWM (analogWrite) und Pin-Status werden beibehalten. Auch Interrupts funktionieren wie sie sollen.

Siehe Auch

Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.