Forum: Mikrocontroller und Digitale Elektronik ASCII nach Hexadezimal wandel


von Andreas (Gast)


Lesenswert?

Hallo ich als C und avr anfänger habe mal folgende Frage: Wie kann ich 
ein Byte welches ich über den Uart empfange in zwei Hexadezimale Zeichen 
zerlegen und diese als uint8_t speichern ??

von crazy horse (Gast)


Lesenswert?

hm, was hat das mit Ascii zu tun?
Ansonsten gibts die einfachen Operationen "/" und "%".
rec_byte/16 liefert dir die oberen 4bit
rec_byte%16 die unteren 4bit

von Andreas (Gast)


Lesenswert?

Danke für die Antwort !

von Michael J. (jogibaer)


Lesenswert?

Hallo,

oder einfach das H Nibble und das L Nibbe nehmen.


Jogibär

von ARM-Fan (Gast)


Lesenswert?

Irgendwie gehen mir Frage und Antworten nicht in den Kopf...

"EIN Byte empfangen.... und als uint8_t (also EIN Byte) speichern"

Was gibts da noch zu tun/umzuwandeln?
Und was hat das wirklich mit ASCII zu tun?

Ich werde das Gefühl nicht los, dass die Problemstellung ein andere ist.
Oder, was meint der Author?

Oder sollen vielleicht die Zeichen von '0'-'9' und 'A'-'F'
empfangen und in uint8_t "umgewandelt" werden.

Also zum Beispiel sowas wie:

  uint8_t zahl = uart_input - '0';

Oder hab ich jetzt was nicht mitbekommen?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.