Frage zu Serieller Eingabe

Hallo,
ich beschäftige mich grade mit der String und char Array geschichte und bin auf einen mich ansprechenden minikurs gestossen. In diesem kommt folgender Sketch vor:

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

char rx_byte = 0;

void loop() {
  if (Serial.available() > 0) {    // is a character available?
    rx_byte = Serial.read();       // get the character
  
    // check if a number was received
    if ((rx_byte >= '0') && (rx_byte <= '9')) {
      Serial.print("Number received: ");
      Serial.println(rx_byte);
    }
    else {
      Serial.println("Not a number.");
    }
  }
}

Bei eingabe einer Zahl bekomme ich folgendes Ergebnis:

Number received: 5
Not a number.

Dabei verstehe ich nicht ganz warum "Not a number" ausgegeben wird.Auch wenn die Terminierende 0 eingelesen werden sollte, müsste doch trotzdem "Number received: 0" stehen.

Würde mich freuen wenn mir da jemand klarheit schaffen würde.
Danke im voraus

Beim seriellen Monitor sollte "Kein Zeilenende" eingestellt sein, sonst wird CR oder LF als "Not a number" angezeigt.

'\0' beendet Zeichenketten, nicht die Eingabe im seriellen Monitor.

Dann weißt Du aber bei mehr als einem Zeichen nicht, wo das Ende ist.

Gruß Tommy

Tommy56:
Dann weißt Du aber bei mehr als einem Zeichen nicht, wo das Ende ist.

Wohl war, dafür wurden die Steuerzeichen ja dereinst erfunden. Dann muß man sie aber auch entsprechend auswerten.

Ach so ist das!!!
macht Sinn

Vielen Dank für die Hilfe