Serie.ReadByTesuntil -Funktion in der Arduino -Programmierung

Serie.ReadByTesuntil -Funktion in der Arduino -Programmierung
Wenn es um die Programmierung mit Arduino geht, können Sie viele Funktionen verwenden, um Eingang und Ausgabe zu manipulieren. Eine Haupt -Arduino -Funktion ist Serie.ReadByTesuntil (), Dadurch können Sie Daten aus einem Stream lesen, bis ein bestimmtes Zeichen gefunden wird. Diese Funktion hilft beim Lesen von Daten von seriellen Geräten, bis wir die erforderlichen Daten finden.

Diese Beschreibung erstellt die Serie.ReadByTesuntil () Funktion eingehend. Wir werden diskutieren, was es ist, wie es funktioniert, und den Arduino -Code abdecken, der erklärt, wie man ihn in Arduino Code verwendet.

Serie.ReadByTesuntil ()

Die Serie.ReadByTesuntil () -Funktion ist ein Teil der Arduino -Serienklasse. Diese Funktion liest Daten aus einem Stream, bis ein bestimmtes Zeichen oder eine maximale Anzahl von Bytes findet. Sobald der Charakter oder die maximale Anzahl von Bytes gefunden wurden, wird die Funktion nicht mehr gelesen und gibt die gelesenen Daten zurück.

Die Serie.ReadByTesuntil () -Funktion endet, wenn die folgenden Bedingungen erfüllt sind:

  • Wenn die Funktion einen Terminator -Zeichen erkennen
  • Die definierte Pufferlänge ist erreicht
  • Die festgelegte Zeit wird verstrichen oder ausgeht

Diese Funktion gibt das Terminator -Zeichen nicht zurück, das nur Daten auf das letzte Zeichen vor dem Terminator zurückgibt. Wenn 0 durch diese Funktion zurückgegeben wird, bedeutet dies, dass keine gültigen Daten gefunden werden.

Syntax

Die Serie.ReadByTesuntil () -Funktion hat die folgende Syntax:

Serie.readByTesuntil (char terminator, char* puffer, size_t länge);

Parameter

Im Folgenden finden Sie die Parameter der Funktionserie.ReadByTesuntil ():

  • Terminatorcharakter: Der Charakter, bei dem die Funktion aufhört zu lesen.
  • Puffer: In Puffer ist die lesenden Seriennaten der zulässige Datentyp ein Array von Zeichen oder Byte.
  • Länge: Die maximale Anzahl von Bytes zu lesen. Der zulässige Datentyp ist int.

Zurückkehren

Die Anzahl der in den Puffer platzierten Bytes.

Anmerkungen: Als Gegenleistung Daten wird das Terminator -Zeichen von der Funktionserie verworfen.ReadByTesuntil () aus dem Datenstrom.

Beispiel Arduino Code

Nach Arduino -Code Erklären Sie die Verwendung von Serie.ReadByTesuntil () Funktion:

void setup ()
Serie.Beginnen Sie (9600); // Initialisieren Sie die serielle Verbindung mit einer Baudrate von 9600

void Loop ()
Bytepuffer [5]; // Definieren Sie ein Byte -Array, um die eingehenden Daten zu speichern
int numbytes = serial.ReadByTesuntil ('\ n', Puffer, 5); // Eingehende Daten aus der seriellen Verbindung lesen, bis ein neuer Zeichenzeichen auftritt
if (numbytes> 0) // Überprüfen Sie, ob Bytes gelesen wurden
Serie.print ("empfangene Zeichen:");
Serie.Schreiben (Puffer, Numbytes); // Drucken Sie die empfangenen Daten in den seriellen Monitor
Serie.println ();

Im SetUp () -Function -Baud -Rate wird eine serielle Kommunikation festgelegt.

In der Loop () -Funktion definieren wir zunächst ein Byte -Array aufgerufen 'Puffer'. Dieses Array wird verwendet, um die eingehenden Daten aus der seriellen Verbindung zu speichern.

Als nächstes rufen wir das an Serie.ReadByTesuntil () Funktion, die eingehende Daten aus der seriellen Verbindung liest, bis sie auf ein neues Zeilenzeichen ('\ n') stößt ('\ n'). Das nächste Argument ist die Länge des Puffer.

Das zurückgegebene Byte wird in der gespeichert 'numbytes' Variable. Wenn die empfangenen Daten größer als die Pufferlänge sind, werden die Daten beendet und im nächsten Datenstrom gesendet.

Ausgang

Abschluss

Der Serie.ReadByTesuntil () Funktion in der Arduino -Programmierung liest Bytes aus einem seriellen Eingangsstrom, bis ein bestimmtes Terminator -Zeichen empfangen wird. Die Funktion gibt insgesamt Lesen und speichert sie in einem bereitgestellten Puffer. Lesen Sie den Artikel, um weitere Informationen zur Serie zu erhalten.ReadByTesuntil () Funktion.