Serial.available/Serial.read()

Lese­zeit: 3 Minu­ten

Mit Serial.available und Seri​al​.Read() kann ein ein­zel­nes Zei­chen, ein String oder eine Varia­ble vom Typ int vom Seri­el­len Moni­tor gele­sen werden.

Bei­spiel Seri​al​.read(): Lesen eines ein­zel­nen Zeichens:

void setup() 
{ 
  Serial.begin(9600);

  // auf serielle Verbindung warten
  while (!Serial) {;}
}

void loop()  
{ 
  // auf serielle Eingabe warten 
  while (Serial.available() > 0)  
  {  
    // Eingabe im Seriellen Monitor lesen 
    char Zeichen = Serial.read();
    
    // Enter/Senden gedrückt 
    Serial.print(Zeichen);
  }
}

Bei­spiel Seri​al​.read(): Zei­chen bei der Ein­ga­be zu einem String zusammensetzen:

String Eingabe;
 
void setup()   
{ 
  Serial.begin(9600);

  // auf serielle Verbindung warten
  while (!Serial) {;}
}

void loop()  
{ 
  // auf serielle Eingabe warten 
  while (Serial.available() > 0)  
  {  
    // Eingabe im Seriellen Monitor lesen 
    char Zeichen = Serial.read();    
    Eingabe += Zeichen;

    // Enter/Senden gedrückt   
    if (Zeichen == '\n') 
    {
      Serial.print(Eingabe);
      Eingabe = ""; 
    }
  }
}

Bei­spiel Serial.readStringUntil(): String lesen bis return gedrückt wurde/Senden ange­klickt wurde

void setup()
{
  Serial.begin(9600);

  // auf serielle Verbindung warten
  while (!Serial) {;}
}

void loop()
{
  // auf serielle Eingabe warten
  while (Serial.available() > 0)
  {
    // solange lesen, bis return \n eingegeben wurde
    String Eingabe = Serial.readStringUntil('\n');
    
    Serial.println(Eingabe);
  }
}

Bei­spiel par­seInt(): Lesen einer Varia­ble vom Typ int

void setup ()
{
  Serial.begin(9600);

  // auf serielle Verbindung warten
  while (!Serial) {;}

  Serial.println("Wie alt bist du? ");
}

void loop()
{
  while (Serial.available() > 0)
  {
    int Alter = Serial.parseInt();

    // Enter/Senden gedrückt
    if (Serial.read() == '\n')
    { 
     Serial.print("Du bist " + String(Alter) + " Jahre alt!");
    }
  }
}

Variable Varia­ble Serial.print() Serial.print()

Letzte Aktualisierung: 31. Jul 2023 @ 11:29