Arduino Seriellen Puffer löschen

Ammar Ali 12 Oktober 2023
Arduino Seriellen Puffer löschen

Dieses Tutorial behandelt das Löschen des seriellen Puffers mit der Funktion Serial.begin() in Arduino.

Arduino seriellen Puffer löschen

Jedes Arduino-Board verfügt über Pins, die für die serielle Kommunikation verwendet werden können, und wir können diese Pins verwenden, um Daten über die serielle Kommunikation zu senden und zu empfangen. Die serielle Klasse von Arduino hat eine Funktion, die Daten auf einem seriellen Pin lesen und schreiben kann.

Verwenden Sie die Funktion read(), um Daten von einem seriellen Pin zu lesen, und die empfangenen Daten werden in einem Puffer gespeichert, bevor sie im Code verwendet werden. Der Puffer hat einen bestimmten Speicher zum Speichern der Daten, und im Falle einer großen Datenmenge müssen wir den seriellen Puffer löschen, damit ihm nicht der Speicher ausgeht.

Wir können die Funktion Serial.begin() verwenden, um die Serie zu beginnen, nachdem wir Daten von der Serie empfangen haben.

Die Funktion Serial.begin() wird verwendet, um die serielle Schnittstelle mit der angegebenen Datenrate zu initialisieren, z. B. 9600 Bit pro Sekunde, aber wenn wir die serielle Schnittstelle initialisieren, werden die zuvor im seriellen Puffer gespeicherten Daten aus dem Speicher entfernt.

Nehmen wir zum Beispiel an, wir möchten einen String über einen seriellen Pin lesen und nach dem Empfang eines Datenblocks den seriellen Puffer löschen.

Wir können die Funktion Serial.available() verwenden, um zu prüfen, ob die Daten im seriellen Puffer verfügbar sind, und wenn sie verfügbar sind, speichern wir die Daten in einem String-Array und löschen dann den seriellen Puffer mit der Funktion Serial.begin()-Funktion.

Siehe Beispielcode unten.

String value;
void setup() {}

void loop() {
  if (Serial.available()) {
    value = "";
    while (Serial.available()) {
      char data = Serial.read();
      value = value + data;
    }
    Serial.println(value);
    Serial.end();
    Serial.begin(9600);
  }
}

Wir haben die Variable value verwendet, um die Zeichendaten zu speichern, die wir von der Serie erhalten haben. Wenn Daten verfügbar sind, fügen wir sie dem Array hinzu und beenden die serielle Kommunikation mit der Funktion Serial.end() und initialisieren dann die serielle Verbindung, um den seriellen Puffer zu löschen.

Wir haben eine Schleife verwendet, um alle verfügbaren Daten zu speichern, bevor die serielle Kommunikation beendet und der Puffer gelöscht wird.

Wenn wir Daten senden möchten, können wir mit der Funktion Serial.flush() warten, bis alle Daten übertragen wurden, und dann können wir die serielle Kommunikation beenden und den Puffer löschen.

Überprüfen Sie diesen Link für weitere Details über die Serial und ihre Funktionen.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Verwandter Artikel - Arduino Serial