Terminal CR LF einfügen

Gast #7334971
Lesenswert?

Hallo Community,

ich möchte von meinem Mikrocontroller aus Messdaten an ein Terminal senden. Nach 20x Bytes soll das Terminal Programm in eine neue Zeile springen.

Jetzt habe ich mir gedacht, einfach ein CR LF (0x0D 0x0A) an die Messdaten dran zuhängen. Das von mir verwendete Terminal Programm "RealTerm" macht das leider nicht.

Frage 1 : Weiß jemand von euch, ob und wie das möglich ist? Auch vielleicht mit einem anderen Terminal Programm.

Frage 2 : Kennt jemand von euch ein Terminal Programm, mit welchem man Daten über die serielle Schnittstelle aufzeichen (in eine Datei) und die Datenbreite von 16-Bit dabei einstellen kann?

Vielen Dank schon einmal im Voraus.

Gruß Flo

#7335000
Lesenswert?

Flo schrieb:

Kennt jemand von euch ein Terminal Programm, mit welchem man Daten über die serielle Schnittstelle aufzeichen (in eine Datei) und die Datenbreite von 16-Bit dabei einstellen kann?

Ich glaube nicht, dass das mit einem PC möglich ist. Man kann glaube ich 7 oder 8 Bit einstellen. 16 Bit habe ich noch nie als Option gesehen. Auf höhere ebene könnte man 2 Bytes zusammenheften und so 16 Bit machen. Das Problem ist, wenn 1 Byte irgendwie verloren geht, dann werden die falschen Bytes immer zusammengeheftet. Und eine Synchronisation ist nicht definiert. Auf einem uC würde das natürlich gehen, aber auch mit Bitbang weil viele USART module max 8 bit können. Bestimmt gibt es ausnahmen.

Gast #7335029
Lesenswert?

Hallo,

ich meinte auch nicht, dass man die Datenbreite des UART auf 16-Bit setzen kann, sondern dass das Terminal 2x Bytes zu 16-Bit zusammenfasst und anzeigt/speichert.

Bei RealTerm kann man unter dem Tab "Display" uint16 einstellen. Damit werden die Daten in diesem Format visualisiert. Beim Aufzeichnen mit "Capture" verwendet RealTerm jedoch wieder 8-Bit HEX.

Gruß Flo

Gast #7335187
Lesenswert?

Flo schrieb:

Kennt jemand von euch ein Terminal Programm, mit welchem man Daten über die serielle Schnittstelle aufzeichen (in eine Datei) und die Datenbreite von 16-Bit dabei einstellen kann?

Dazu müsste irgendwie gekennzeichnet sein, welche 2 Bytes einen 16-Bit-Wert bilden. Wenn der TO das offensichtlich nicht vorgesehen hat (beim Sender!!), dann ist das ganze Konzept unbrauchbarer Blödsinn, das lässt sich mit keinem denkbaren Empfangsprogramm beheben, da braucht man garnicht lange nachdenken ob Controller oder PC und welche Sprache.

Georg

#7335855
Lesenswert?

Flo schrieb:

Frage 2 : Kennt jemand von euch ein Terminal Programm, mit welchem man Daten über die serielle Schnittstelle aufzeichen (in eine Datei) und die Datenbreite von 16-Bit dabei einstellen kann?

Nein. MCs können max 9Bit, die PC-UART max 8Bit Format. Will man mehr übertragen, braucht es ein Protokoll, mit dem der Empfänger die Daten wieder richtig zusammen setzen kann. Recht einfach ist ein ASCII-Protokoll, 16Bit werden per printf als 4 Hex-Digits oder 1-5 Dezimaldigits übertragen. Danach kommt ein Trennzeichen zum nächsten Wert, z.B Leerzeichen oder Komma.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren