Serie.ReadBytes -Funktion in Arduino

Serie.ReadBytes -Funktion in Arduino
Serie.ReadBytes () ist eine Funktion in Arduino, die das Lesen einer bestimmten Anzahl von Bytes aus dem Serienpuffer ermöglicht und sie in einen Array -Puffer speichert. Diese Funktion kann verwendet werden, um binäre Daten wie Sensorwerte von einem externen Gerät zu lesen, das mit der Arduino -Karte verbunden ist.

Diese Funktion endet, wenn die definierte Länge der Zeichen gelesen wurde oder wenn die Auszeit (seriell.setTimeout ()). Wenn es 0 zurückgibt, bedeutet dies, dass keine gültigen Daten verfügbar sind.

Syntax
Im Folgenden finden Sie die Syntax der Serien.ReadBytes () Funktion:

Serie.ReadBytes (Puffer, Länge)

Parameter

Puffer: Das Pufferarray zum Speichern der empfangenen Bytes. Die zulässigen Datentypen sind Zeichenarray oder Byte.

Länge: Dies bezieht sich auf die spezifische Anzahl von Bytes, die aus dem Serienpuffer abgerufen werden sollten. Der zulässige Datentyp ist int int.

Kehrt zurück

Die Anzahl der Bytes, die aus dem Serienpuffer gelesen wurden.

Beispielcode

Der folgende Code erläutert die Verwendung von Serien.ReadBytes () Funktion in Arduino.

const int buffer_size = 50;
char buf [buffer_size];
void setup ()
Serie.Beginnen Sie (9600);
Serie.setTimeout (5000); // Setzen Sie die Auszeitungsperiode auf 5000 Millisekunden (5 Sekunden) (5 Sekunden)

void Loop ()
// Warten Sie auf eingehende Daten
while (seriell.Verfügbar () == 0)
// nichts tun

// Lesen Sie die eingehenden Bytes:
int rlen = seriell.ReadBytes (Buf, Buffer_Size);
// druckt die empfangenen Daten
Serie.print ("Ich habe erhalten:");
für (int i = 0; i < rlen; i++)
Serie.print (buf [i]);

Im obigen Code legt die Funktion SetUp () die Zeitüberschreitungszeit auf 5 Sekunden lang fest Serie.setTimeout (5000).

In der Loop () -Funktion tritt das Programm eine Weileschleife ein, die auf eingehende Daten wartet, indem er überprüft wird, ob Serie.verfügbar() ist größer als 0. Während Schleife stellt sicher, dass das Programm wartet, bis Daten verfügbar sind, bevor Sie versuchen, es zu lesen.

Sobald eingehende Daten erkannt wurden, liest das Programm die Bytes mit seriell.readBytes () und speichert sie in der buf Array. Die empfangenen Daten werden dann mit einer für die Schleife, die über das BUF -Array iteriert, an den seriellen Monitor gedruckt.

Ausgang
Hier in Output sehen wir die Anzahl der von der Funktion gelesenen Bytes.

Abschluss

Die Serie.ReadBytes () ist eine Funktion in Arduino, die das Lesen einer bestimmten Anzahl von Bytes aus dem Serienpuffer ermöglicht und sie in einen Array -Puffer speichert. Es gibt insgesamt lesende Bytes oder -1, wenn keine Daten verfügbar sind und 0 zurückgeben, wenn keine gültige Eingabe vorhanden ist. Diese Funktion wird üblicherweise in Arduino -Programmen verwendet, die Kommunikation mit externen Geräten über eine serielle Verbindung erfordern.