Go Down

Topic: Serial Monitor gibt komische Zeichen aus (Read 181 times) previous topic - next topic

fneurieser

Hallo allerseits,

ich bin ein kompletter Neuling mit dem Arduino und handle mich derzeit mithilfe des Kompendiums durch die Arbeitsweise desselben.

Dabei habe ich als Beispiel auch die Ausgabe auf dem seriellen Monitor getestet und dabei folgenden Sketch verwendet:

void setup() {

pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
Serial.println("");
Serial.println("### LED-Steuerung ###");
Serial.println("e: einschalten / a: ausschalten");
}

void loop() {

  if (Serial.available()) {
    char Eingabe = Serial.read();
    if (Eingabe == 'e')
    {
      digitalWrite(LED_BUILTIN, HIGH);
      Serial.println("Die LED wurde eingeschaltet");
    }
    if (Eingabe == 'a')
    {
      digitalWrite(LED_BUILTIN,LOW);
      Serial.println("Die LED wurde ausgeschaltet");
    }
  }
}

Der Sketch funktioniert auch, aber im Terminalfenster wird mir zu Beginn jedesmal eine willkürliche Zeichenfolge angezeigt:



Kann mir bitte wer sagen was daran schuld ist?

Die Baud-Rate ist korrekt eingestellt, hat daher mein MEGA260 R3 einen Fehler?

Danke schon mal für Infos.

LG
Franz-Georg

gregorss

Was für ein Kompendium meinst Du? Irgendwas im Internet?

Hilfreich wären noch folgende Infos: Welches Betriebssystem benutzt Du? Erscheinen Fehlermeldungen (welche?), wenn Du alle Meldungen aktiviert hast (siehe Voreinstellungen)?

Gruß

Gregor
Können kommt von kunst.

fneurieser

Was für ein Kompendium meinst Du? Irgendwas im Internet?

Hilfreich wären noch folgende Infos: Welches Betriebssystem benutzt Du? Erscheinen Fehlermeldungen (welche?), wenn Du alle Meldungen aktiviert hast (siehe Voreinstellungen)?

Gruß

Gregor
Hallo Gregor,
ich verwende das Arduino Kompendium aus dem BMU Verlag von Danny Schreiter und als OS benutze ich Windows 10 Enterprise Insider.
@noiasca
Danke, aber die Erklärung "das ist halt so" reicht mir nicht! Ich habe dieses Verhalten bis dato bei keinem anderen User gesehen, daher würde mich schon interessieren was die Ursache dafür ist.
LG
Franz-Georg

gregorss

Wenn ich mir Deinen Sketch ansehe, kann auch ich mir keinen Reim auf das Verhalten machen. Meiner Erfahrung nach sind zumindest die Originale sehr zuverlässig und robust. Wie sieht's mit Fehlermeldungen aus?

Gruß

Gregor
Können kommt von kunst.

fneurieser

Keinerlei Fehlermeldung, das ist ja das Komische daran.

fneurieser

Ich verwende den MEGA von ELEGOO, bekomme aber im Laufe der Woche auch den MEGA 2650 von Arduino. Mal schauen ob sich da vielleicht ein anderes Bild ergibt.
Habe jetzt mit einem Nano denselben Sketch ausprobiert und siehe da, keinerlei wirre Zeichen.

Es scheint also tatsächlich am MEGA von ELEGOO zu liegen. Anscheinend hat hier der Bootloader eine Macke.



Tommy56

Oder der gibt Bootmeldungen mit einer anderen Baudrate aus. Da kannst Du mal etwas probieren.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

fneurieser

Oder der gibt Bootmeldungen mit einer anderen Baudrate aus. Da kannst Du mal etwas probieren.

Gruß Tommy
Hallo Tommy,
habe das jetzt mit 19200 versucht, dasselbe Ergebnis:
### L⸮
### LED-Steuerung ###
e: einschalten / a: ausschalten
aber bei 57600 scheint es zu funktionieren
### LED-Steuerung ###
### LED-Steuerung ###
e: einschalten / a: ausschalten


wapjoe

Warum nutzt du nur 57600 Baud? Ich habe immer 115200 eingestellt und bis her keine Probleme festgestellt.

combie

#9
Jan 24, 2020, 07:16 pm Last Edit: Jan 24, 2020, 07:18 pm by combie
Quote
dasselbe Ergebnis:
Aber nicht das gleiche!
Code: [Select]
###⸮
### L⸮


Stimmt das, oder habe ich recht?


Quote
hat daher mein MEGA260 R3 einen Fehler?
Keine Ahnung!
Kenne deinen Mega nicht.
Woher auch?
Wer seine Meinung nie zurückzieht, liebt sich selbst mehr als die Wahrheit.

Quelle: Joseph Joubert

combie

#10
Jan 24, 2020, 07:23 pm Last Edit: Jan 24, 2020, 07:24 pm by combie
Laut diesem Rechner ist der Fehler bei 115200 Baud größer (2.1%) als bei 57600 Baud (-0.8%).
Wer seine Meinung nie zurückzieht, liebt sich selbst mehr als die Wahrheit.

Quelle: Joseph Joubert

wapjoe

Mir wundert, dass der Mega ### LED-Steuerung ### überhaupt doppelt ausgibt, laut dem Sketch sollte es nicht so sein, egal welche Baudrate gesetzt ist.

Quote
### LED-Steuerung ###
### LED-Steuerung ###

HTML-Fan

#12
Jan 24, 2020, 07:39 pm Last Edit: Jan 24, 2020, 07:46 pm by HTML-Fan
Es sieht, meiner Meinung nach, so aus, als würde der Arduino anfangen, die Startmeldung nach dem Reset durchs Öffnen des seriellen Monitors auszuspucken und dann aus mir nicht erfindlichen Gründen, während er eigentlich jene Meldung ausspuckt, nochmal resettet werden, wodurch er die Startmeldung erneut von Anfang an ausspuckt, diesmal ohne Unterbrechung und daher vollständig. Versuche mal, bei deinem Programm ein Delay von 20 ms einzubauen, also:
Code: [Select]
void setup() {

  pinMode(LED_BUILTIN, OUTPUT);
  Serial.begin(9600);
  delay(20);
  Serial.println("");
  Serial.println("### LED-Steuerung ###");
  Serial.println("e: einschalten / a: ausschalten");
}

void loop() {

  if (Serial.available()) {
    char Eingabe = Serial.read();
    if (Eingabe == 'e')
    {
      digitalWrite(LED_BUILTIN, HIGH);
      Serial.println("Die LED wurde eingeschaltet");
    }
    if (Eingabe == 'a')
    {
      digitalWrite(LED_BUILTIN,LOW);
      Serial.println("Die LED wurde ausgeschaltet");
    }
  }
}

Dadurch wartet der Mega nach dem Reset erstmal 20 ms lang ab, um zu gucken, ob er erneut resettet wird. Wahrscheinlich reichen schon 5 ms, aber so bist du auf der sicheren Seite. Viel Glück beim Testen und Ausprobieren!

Go Up