Serielle Eingabe weiterverarbeiten (int)

Gast #4579545
Nabend

Eigentlich dachte ich, das ist einfach,
aber es funktioniert so nicht.

Also es wird nichts ausgegeben im seriellen Monitor,
nachdem ich eine Zahl (ein oder mehrstellig) eingegeben habe.
1
void setup()
2
{
3
  Serial.begin(9600);
4
}
5

6
void loop() {
7
  while (Serial.available() > 0)
8
  {
9
    int pos = Serial.parseInt();
10
    
11
    if (Serial.read() == '\n')
12
    {
13
      Serial.println(pos);
14
    }
15
  }
16
}

Natürlich geht es mir nicht darum, eine Zahl (von 1-900) auf dem 
seriellen Monitor auszugeben,
sondern den Wert einer Variablen ändern zu können.

Habe ich etwas vergessen?

Den Code habe ich aus einem Tutorial extrahiert:
https://www.arduino.cc/en/Tutorial/ReadASCIIString#.UygLZ4WrDX8

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.