Serial.readBytesUntil()

Beschreibung

Serial.readBytesUntil() liest Zeichen aus dem seriellen Puffer in ein Array. Die Funktion bricht ab (Überprüfungen werden in dieser Reihenfolge durchgeführt):

  • Wenn die ermittelte Länge gelesen wurde,
  • Wenn die Zeit abgelaufen ist (siehe Serial.setTimeout()),
  • Oder wenn das Terminatorzeichen erkannt wurde (In diesem Fall gibt die Funktion die Zeichen bis zum letzten Zeichen vor dem angegebenen Terminatorzeichen zurück). Das Terminatorzeichen selbst wird nicht im Puffer zurückgegeben.

Serial.readBytesUntil() gibt die Anzahl der in den Puffer eingelesenen Zeichen zurück. Eine 0 bedeutet, dass keine gültigen Daten gefunden wurden.

Serial.readBytesUntil() erbt von der Stream-Dienstklasse.

Syntax

Serial.readBytesUntil(character, buffer, length)

Parameter

  • Serial: Serielles Port-Objekt. Die Liste der verfügbaren seriellen Anschlüsse für jedes Board auf der Serial-Hauptseite.
  • character: Das zu suchende Zeichen. Erlaubte Datentypen: char.
  • buffer: Der Puffer zum Speichern der Bytes. Erlaubte Datentypen: Array von char oder byte.
  • length: Die Anzahl der zu lesenden Bytes. Erlaubte Datentypen: int.

Rückgabewert

Die Anzahl der Bytes, die im Puffer abgelegt wurden. Datentyp: size_t.

Beispielcode

const int BUFFER_SIZE = 100; char buf[BUFFER_SIZE]; void setup() { Serial.begin(9600); // opens serial port, sets data rate to 9600 bps } void loop() { // check if data is available if (Serial.available() > 0) { // read the incoming bytes: int rlen = Serial.readBytesUntil('\n', buf, BUFFER_SIZE); // prints the received data Serial.print("I received: "); for(int i = 0; i < rlen; i++) Serial.print(buf[i]); } }
  • Select Newline at the ending selection of Serial Monitor
  • Type "HELLO" on Serial Monitor
  • Click Send button:
  • COM6
    Send
    Autoscroll Show timestamp
    Clear output
    9600 baud  
    Newline  
  • Das ergebnis am seriellen monitor:
  • COM6
    Send
    I received: HELLO
    Autoscroll Show timestamp
    Clear output
    9600 baud  
    Newline  

※ Anmerkungen und Warnungen:

  • Das Abschlusszeichen wird aus dem seriellen Puffer gelöscht.
  • Serial functions are not only used for the communication between an Arduino board and Serial Monitor of Arduino IDE but also used for the communication between:
    • An Arduino board and other Arduino board
    • An Arduino board and other sensors/devices
    • An Arduino board and computer (any Serial software on computer)

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