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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.