Arduino Pro Micro (Leonardo) CDC Device [>> gelöst <<]

Hallo,
ich habe ein kleiner Problem. Folgendes kleines Programm auf dem Mega32U4:

void setup() {
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
}

void loop() {
  if (Serial.available() > 0) {
    char inByte = Serial.read();
    Serial.write(inByte);
  }
}

Nichts wildes halt. Alles was er empfängt wird als Echo zurück gesandt. Wen ich den Seriellen Monitor der Arduino IDE nehme geht alles so wie gedacht. Resete ich den Arduino aber und nehme dann zum Beispiel Hterm um auf die Serielle Schnittstelle zuzugreifen kommt kein Zeichen zurück. Greife ich einmal mit dem Seriellen Monitor der Arduino IDE zu und danach mit Hterm ist alles wie gewollt. Was ist hier das Problem, also was macht der Serielle Monitor der Arduino IDE anders als Hterm? Zur Sicherheit habe ich mir auch noch schnell einen Zugriff auf die Serielle Schnittstelle mit PureBasic geschrieben. Das Programm zeigt das selbe Problem. Ich bin Ratlos!

Gruß Topsoft007

Wenn Das Verhalten so, wie bei UNO/MEGA & Co ist, resetet der serielle Monitor beim Öffnen den Arduino.
Wie das beim 32U4 ist, weiß ich nicht.

Gruß Tommy

Wie das beim 32U4 ist, weiß ich nicht.

Vom PC aus für kurze Zeit auf 1200 Baud einstellen, dann kommt der Bootloader dran.
Ein Reset über DTR findet nicht statt.

Ja aber wenn er ihn resetet, was natürlich mit 1200 Baud geht, dann erscheint ja der Bootloader und der hat eine andere serielle Schnittstelle und führt ja auch nicht das Programm aus was ich in den Flash geladen habe. Übersehe ich was?

Vieleicht sollten wir erst mal klären ob das Verhalten von anderen Usern nachvollzogen werden kann. Bei mir ist es auf einem Win7 X64 und Win10 X64 Rechner so. Kann das jemand checken?

Gruß Topsoft007

Übersehe ich was?

Setze mal DTR in HTerm auf Aktiv.

Das ist doch ein virtualer Serieller Port über USB auf das CDC des Mega32U4. Was soll das bringen?

Dann probiere es nicht aus....

Doch doch, probieren werde ich es. Muss nur schauen wo sich die Einstellung versteckt hat.

Über dem ASend Button!

Für die Erklärung, siehe Zeile 118 in:
https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/cores/arduino/CDC.cpp

Genau das war es. Man verdammt, Entschuldigung für mein Zweifeln. Ich danke dir.

Gruß Topsoft007

Zweifeln ist an und für sich nicht schlecht. Das verhindert, daß man zu selbstsicher wird und sich keine Fehler eingestehen will/kann. Ein gesunder Zweifel ist nützlich, weil man ansonsten keine Fehler finder; man hat ja sicher alles richtig gemacht.
Grüße Uwe