www.mikrocontroller.net

Forum: PC-Programmierung HexZahl senden kein Asciizeichen


Autor: Freak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin.

Ich möchte Hexzahlen über die RS232 senden. Dazu habe ich sprint 
genommen, aber die Hexzahlen werden, in Ascii Zeichen umgewandelt.
so z.B.
sprintf(buffer, "%0x", STX);

Also ich will z.B. ne 02 senden (STX) und keine 32 (char 2)
Ich hab keine Idee mehr, wie ich dass umgehen kann. Die suche hat mir 
leider auch nix gebracht.

THX

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann fuell die Byte doch selbst ein. Ohne sprintf() und solchen Muell.

Autor: Freak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieht schon besser aus :)

Autor: Freak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm die Zuweisung der Bytes ist richtig, aber wenn ich den com port 
sniffe, sind nur die ersten beiden Byte korrekt und die werden dann 
wiederholt, aber ich will mehr Byte senden

Autor: Andreas B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Abgesehen von der Möglichkeit, direkt in das char-Array zu schreiben, 
kann man beliebige Zeichen in einem String-Literal einfügen mit "\nnn", 
wobei n eine Oktalziffer ist. Alternativ mit "\xnn" mit n als 
Hexadezimalziffer.

Das Beispiel STX also "\002" oder "\x02".

Um ein char per printf einzufügen nutzt man %c.

Autor: Freak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe die Byte direkt zu gewiesen. hat Problemlos geklappt, aber da das 
dritte Byte ein Nullbyte war, hat der schniffer immer wieder nur die 
ersten beiden Byte gelesen!

Danke für den sinmplen gedanklichen anstupser ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.