Serie.setTimeout und seriell.GetTimeout Arduino Funktionen

Serie.setTimeout und seriell.GetTimeout Arduino Funktionen
Eine der wesentlichen Komponenten von Arduino ist die serielle Kommunikation, die den Datenaustausch zwischen der Arduino -Karte und einem Computer ermöglicht. In diesem Artikel werden wir zwei Arduino -Funktionen erörtern, Serien.setTimeout () und seriell.GetTimeout (). Wir erläutern die Syntax-, Parameter- und Rückgabeteile dieser Funktionen und geben Beispiele für ihre Verwendung an.

Serie.setTimeout () - Arduino

Die Serie.SetTimeout () -Funktion in Arduino wird verwendet, um die maximale Zeit in Millisekunden festzulegen, die das Programm auf serielle Daten wartet. Standardmäßig beträgt die festgelegte Zeitüberschreitung 1000 Millisekunden. Die Serie.SetTimeOut () -Funktion kommt aus der Stream -Klasse in Arduino, die eine Reihe von gemeinsamen Möglichkeiten bietet, mit Eingängen/Ausgängen zu arbeiten.

Die Serie.SetTimeOut () -Funktion ist nützlich, wenn sie mit langsamen oder unzuverlässigen Verbindungen arbeiten.

Syntax
Die Syntax für die Serie.setTimeout () Funktion ist:

Serie.setTimeout (Zeit)

Parameter

Serien verwenden.setTimeout () müssen Sie das serielle Portobjekt als erster Parameter und die Dauer der Zeitüberschreitung in Millisekunden als zweiter Parameter bereitstellen. Die Dauer kann als langer Datentyp ausgedrückt werden.

Der Zeitverbindungswert liegt in Millisekunden (MS). Dieser Zeitüberschreitungswert ist lang nicht signiert, der von 1 beginnt und bis zu 4294967295 Millisekunden liegt.

Kehrt zurück

Diese Funktion gibt keinen Wert zurück.

Serie.GetTimeout () - Arduino

Die Serie.GetTimeout () -Funktion gibt den aktuellen Auszeitraum für die serielle Kommunikation zurück. Sie kann verwendet werden.

Syntax
Die Syntax für die Serie.GetTimeout () -Funktion ist:

Serie.GetTimeout (Zeit);

Parameter

Diese Funktion enthält keine Parameter.

Kehrt zurück

Diese Funktion gibt den standardmäßigen Zeitüberschreitungswert ein, der standardmäßig 1000 ms beträgt und mithilfe der Serie geändert werden kann.GetTimeout (). Der Datentyp des Rückgabewerts ist nicht signiert.

Beispielcode

Im folgenden Beispiel erhalten wir die aktuelle Zeitoutperiode mit der Serie.GetTimeout () -Funktion. Anschließend drucken wir die Auszeitraumzeit im Serienmonitor. Als Nächst.

void setup ()
Serie.Beginnen Sie (9600); // serielle Kommunikation mit 9600 Bit pro Sekunde initialisieren
nicht signiert long defaulttimeout = serial.GetTimeout (); // Erhalten Sie den Standardzeitraum
Serie.print ("Standard-Zeit-Out-Periode ist:");
Serie.println (defaultTimeout); // Drucken Sie den Standard-Auszeit-Out-Zeitraum in den Serienmonitor aus
Serie.setTimeout (5000); // Setzen Sie die Auszeitungsperiode auf 5000 Millisekunden (5 Sekunden) (5 Sekunden)
nicht signiert langfristig = seriell.GetTimeout (); // Erhalten Sie die aktuelle Auszeitungsperiode
Serie.print ("Aktuelle Auszeitraumzeit ist:");
Serie.println (Timeout); // Drucken Sie den aktuellen Auszeitraum in den Serienmonitor aus

void Loop ()

Im obigen Code die aufstellen() Die Funktion initialisiert die serielle Kommunikation bei 9600 Bit pro Sekunde und erhält die Standardzeitlimitzeit mit der seriellen.GetTimeout () -Funktion. Der Standard -Timeout -Zeitraum wird dann auf dem seriellen Monitor angezeigt.

Als nächstes die Serie.SetTimeOut () -Funktion wird verwendet, um die neue Zeitüberschreitungsperiode auf 5 Sekunden (5000 Millisekunden) festzulegen.

Die Loop () -Funktion ruft dann die aktuelle Zeitüberschreitungszeit mit der Serie ab.GetTimeout () -Funktion und zeigt sie auf dem seriellen Monitor an. Vor dem Drucken des nächsten Wertes wird eine Verzögerung von 1 Sekunde hinzugefügt, um zu verhindern, dass der serielle Monitor mit Daten überflutet wird. Dieser Code kann verwendet werden, um zu überprüfen.GetTimeout () -Funktion funktioniert wie erwartet.

Ausgang
In der Ausgabe sehen wir sowohl das Standard -Timeout als auch das neue Zeitlimit auf dem Serienmonitor gedruckt.

Abschluss

Der Serie.setTimeout () Und Serie.GetTimeout () Funktionen sind wichtige Versorgungsfunktionen in der Arduino -Sprache. Serie.setTimeout () legt die maximale Zeit in Millisekunden fest, dass das Programm auf serielle Daten wartet, während seriell.GetTimeout () ruft die aktuelle Zeitüberschreitungszeit ab. Diese Funktionen sind nützlich für die Arbeit mit externen Geräten, die möglicherweise nicht immer Daten innerhalb eines bestimmten Zeitrahmens liefern.