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 wer­den.

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

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

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

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

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

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 wur­de

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

void loop()
{
  // auf serielle Eingabe warten
  while (Serial.available() > 0)
  {
    // solange lesen, bis return \n eingegeben wurde
    String Eingabe = Serial.readStringUntil("\n");
    
    // das letzte Zeichen ist return → soll entfernt werden  
    Eingabe = Eingabe.substring(0, Eingabe.length() - 1); 
    Serial.println(Eingabe);
  }
}

Bei­spiel par­s­eInt() Lesen einer Varia­ble vom Typ int

void setup ()
{
  Serial.begin(9600);
  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!");
    }
  }
}


Varia­ble Serial.print()

Letzte Aktualisierung: 23. Aug 2020 @ 21:34