Stringlänge übertragen

OP #3597609
Lesenswert?
• ▲
▼
Hallo Leute,

ich hab da mal eine Frage. Ich denke die Lösung ist sehr einfach, aber 
ich stehe gerade irgendwie auf dem Schlauch :-(

Ich übertrage vom Computer über eine serielle Schnittstelle einen String 
an einen Mikrocontroller. Dabei sende ich zunächst die Länge des Strings 
und dann den String. Die Übertragung funktioniert soweit auch, nur 
empfange ich als Länge leider immer den Dezimalwert.

Sende ich also ein Zeichen, so wartet die Funtkion auf 49. Wie wandle 
ich das wieder um in den entsprechenden ASCII-Wert, sodass meine 
Funktion das richtig verarbeiten kann?
Gast #3598406
Lesenswert?
• ▲
▼
Hi
So ganz schlau bin ich aus deiner Frage nicht geworden. Du empfängst 
das, was du sendest. Wenn du die Länge dezimal abschickst, kommt sie 
auch so an. Der Übertragung ist das völlig Banane, ob du Strings oder 
Werte verschickst. Du solltest dir ein Protokoll schreiben. 1. Zeichen: 
Länge Dezimal, dann entsprechend viele ASCII, danach vielleicht noch ein 
Prüfbyte. Damit bist du in der Lage, Strings mit variabler Länge zu 
versenden. Die Länge in ASCII zu wandeln,macht nicht viel Sinn, wenn du 
mit variablen Längen arbeitest und bei festen Längen brauchst du keine 
Angabe über Länge des String. Deine Empfangsroutine muss also das erste 
Byte entsprechend als Längenwert deuten und dann die empfangenen Daten 
in den Empfangspuffer schreiben.
Gruß oldmax
Gast #3598533
Lesenswert?
• ▲
▼
Es gibt auch Ansaetze, Zahlen nach ASCII Hex zu wandeln, dann wird jedes 
Datenbyte als zwei ASCII character uebertragen. Wenn man nicht mit einem 
Terminal zuschauen will und fliessend Hex umwandeln kann, wuerd ich 
Binaer empfehlen.

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.