HexZahl senden kein Asciizeichen

Gast #1973524
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.
1
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
Gast #1973545
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.
Gast #1973549
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

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