Serial.available()
Wenn mit Serial.read() (mehr dazu auf der nächsten Seite) Daten eingelesen werden diese im Zwischenspeicher gespeichert. Serial.available() schaut beim Aufruf, ob es noch Daten gibt, die ungelesen sind. Dies kann man unter anderem mit einer if-Anweisung oder einer while-Schleife überprüfen.
Nachdem alles mit Serial.read() gelesen wurde, ergibt Serial.available() den Wert 0.
Syntax:
Serial.available();
Parameter:
keine
Beispiel:
int ungelesen;
void setup()
{
Serial.begin(9600); //Initialisierung der seriellen Schnittstelle
}
void loop()
{
ungelesen = Serial.available(); //Speichern der ungelesenen Daten einer Variable
Serial.println(ungelesen);
delay(1000);
}
Serieller Monitor:
Abbildung 2: Ausgabe 1
Quelle: BBS2 Wolfsburg
Wenn man jetzt etwas in das Eingabefeld schreibt und auf senden klickt wird Serial.available() solange
die Länge der Eingabe anzeigen bis Serial.read() ausgeführt wird.
Abbildung 3: Ausgabe 2
Quelle: BBS2 Wolfsburg
In diesem Fall wird der Text "hallo" eingegeben. Dieser String besteht aus 5 chars und ein char ist ein byte groß.
Zusätzlich wird bei abschicken von der Eingabe noch Carriage Return und Linefeed
mit rangehängt.
So entsteht die Länge 6:
- 5 bytes aus dem "hallo"
- 1 byte für Carriage Return und Linefeed