Forum: Mikrocontroller und Digitale Elektronik char als hex


von Mark Tensen (Gast)


Lesenswert?

Hallo zusammen

Ich habe eine Profgramm geschrieben um eine Relaiskarte zu steuern. Ich 
muss nun jedoch die berechnenten Werte in hex augeben können. Hier ein 
kleiner Ausschnitt meines Programmes:

********************************************************
*unsigned char schalterstellung;                       *
*unsigned char checksum;                               *
                                                      
*schalterstellung=schalterstellung | 1;                *
*checksum=schalterstellung ^ 3;                        *
*printf( "Schalterstellung:%d\n",schalterstellung);    *
*printf( "Pruefsumme:%d\n",checksum);                  *
********************************************************

Ich sollte die Werte von schalterstellung und checksum jedoch in hex 
ausgeben können. Kann mir da jemand zeigen wie man eine character in hex 
konveriert?

Herlichen Dank für jede Hilfe

von Peter (Gast)


Lesenswert?

teste doch mal mit

printf( "Schalterstellung:%h\n",schalterstellung)

von ich (Gast)


Lesenswert?

oder hier:

http://home.fhtw-berlin.de/~junghans/cref/FUNCTIONS/format.html

>Herlichen Dank

Herlichen Bitte :-)

von Peter (Gast)


Lesenswert?

stimmt, war ja x nicht h

so sollte es gehen:
printf( "Schalterstellung:%x\n",schalterstellung)

von Mark Tensen (Gast)


Lesenswert?

Danke euch es hat funktioniert! =)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> printf( "Schalterstellung:%x\n",schalterstellung)

Hexadezimalzahlen werden i.d.R. mit führenden Nullen ausgegeben.


> printf("Schalterstellung:%02x\n", schalterstellung)

Das erledigt die Angabe der Feldbreite 2 (für zweistellige Hexzahlen) 
und die vorangestellte 0 beim printf-Formatspezifierer.

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.