Serielle Schnittstelle Eigenarten?

Ich gebe über die Serielle Schnittstelle des Arduino Messwerte an den PC mittels USB (COM4). Wenn ich den seriellen Monitor einmal gestartet hatte bekomme ich die Daten auch in "hterm.exe" bzw in ein selbst geschriebenes VB.Net Programm.

Woran liegt es, dass ich die Schnittstelle mit anderen Programmen zwar öffnen kann, die Daten aber anscheinend im Buffer fest hängen. DiscardInBuffer() hat in VB.net jedenfalls nichts gebracht.

Das liegt an den Steuerleitungen!

Handshake sollte doch auf none stehen, so dachte ich jedenfalls. Kann ich das irgendwo vorgeben? Warum läuft es später, ohne außer Takt zu kommen?

Warum läuft es später, ohne außer Takt zu kommen?

Weil das andere Programm die Leitungen umgestellt hat.

Was für ein Arduino ist es denn überhaupt?

Nano Every

Ich habe jetzt nochmals in Referenzen und Google gesucht. Für die RS232 im Arduino gibt es nur Tx und Rx. Das sind zwei Pins. Ich habe nichts über RTS oder CTS gefunden. Also gibt es nach meiner Erkenntnis keine Leitungen, die man noch zusätzlich verwenden könnte, oder die den Datenfluss kontrollieren.

Falls es ein Softwarehandshake wäre, würde ich die entsprechenden Zeichen in Hterm.exe sehen.

Was die USB-Schnittstelle alles so treibt, kann ich natürlich nicht beobachten, jedenfalls nicht so einfach.

Es ist ok, wenn du mir nicht glaubst! Wäre nur irgendwie doof, wenn deine Annahmen falsch sind und du dich damit selber blockiert.

Es nutzt mir halt wenig, wenn ich dir glaube, weil ich nirgends irgendwelche Informationen bekomme, die mir weiterhelfen. Und du behältst dein Wissen anscheinend lieber für dich.

Es gibt Arduinos bei denen DTR mit Reset verbunden ist: https://content.arduino.cc/assets/UNO-TH_Rev3e_sch.pdf Dadurch kann man beim öffnen des seriellen Monitors einen Reset auslösen:

Beim Every scheint das aber nicht so zu sein: https://content.arduino.cc/assets/NANOEveryV3.0_sch.pdf Oder es ist nicht eingezeichnet

oleum:
Und du behältst dein Wissen anscheinend lieber für dich.

Unfug!

Danke, für den Vorwurf.
Ich werde mich dem jetzt und hier entziehen.

Serenifly: Beim Every scheint das aber nicht so zu sein:

Der auf dem Nano Every verbaute Prozessor (ATmega4809) hat ein UPDI-Interface (Unified Programm and Debug Interface). Dieser Anschluß ist eine Halbduplex serielle Schnittstelle. Wie man auf dem Schaltbild sieht, ist auf dem Nano Every als USB-Seriell Wandler ein recht leistungsfähiger Prozessor ( ATSAMD... ) verbaut, der nicht nur mit der 'normalen' seriellen Schnittstelle des 4809 verbunden ist, sondern auch eine Schnittstelle zum UPDI-Pin hat. Der gesamte Upload des Sketches dürfte über diese Schnittstelle ablaufen weshalb dann auf dem 4809 gar kein Bootloader gebraucht wird, und deshalb auch keine Verbindung zum Reset-Pin notwendig ist. Beim Hochladen arbeitet der ATSAMD als UPDI-Programmer ( kann man auch sehen, wenn man die ausführlichen Ausgaben beim Hochladen einschaltet ).

Die Probleme mit den Ausgaben kann ich allerdings nicht nachvollziehen. Wenn ich keinen seriellen Monitor starte, sondern nach dem Hochladen ein serielles Putty-Fenster auf dem Comport aufmache ( ohne Handshake ), zeigt das alle Ausgaben an - ohne dass vorher der serielle Monitor gestartet werden muss.

Danke @Serenifly mit Deiner Hilfe kann ich etwas anfangen.

combie:

Quote from: oleum on Add one thing at a time - do test while (!functioneingReliable) - repeat

Und du behältst dein Wissen anscheinend lieber für dich.

Unfug! Danke, für den Vorwurf. Ich werde mich dem jetzt und hier entziehen.

Ich finde das immer wieder erstaunlich wie viel Phantasie aufgewendet wird um Dinge auf eine bestimmte Weise zu interpretieren. Achj a wat die Leut net alles macha um ein rundum zufriedenes Leben zu führen....