packed BCD in eine HEX-Zahl wandeln (Gcc)

Gast #639337
Lesenswert?

Controller: Atmega8
Compiler: Winavr

Hallo,

ich suche eine einfache Möglichkeit in einem C-Programm eine 8-Bit 
(packed) Bcd-Zahl (2 Stellen) in eine Hex-Zahl zu wandeln.
Ich lese über zwei BCD-Sxhalter ein Bxte ein. Dieser Wert soll dann die 
Verzögerungszeit für ein paar Ausgänge sein.
Kann mir jemand einen Tipp geben?

Gruß Gerd
Gast #639350
Lesenswert?

>>wert = (bcd >> 4) * 10 + (bcd & 0x0F);

>>Das war ja unglaublich schwer ;)

Hmm, dann habe ich in der Ausgabe noch einen Fehler, dass hatte ich als 
letztes probiert. Da ist noch der Wurm drin...

Ich danke euch beiden. Dachte, dass ich da was falsch mache.

Gruß Gerd

@seltsamer Kauz
Welche Tippfehler muss ich einfügen, damit du nicht nur trollst?
#639524
Lesenswert?

Ich kann mich Simon nur anschließen. µC rechnen im Zahlensystem zur 
Basis 2 nicht 16. Und wenn du dann auch noch einen Satz abläßt wie

> Ich lese über zwei BCD-Sxhalter ein Bxte ein.

dann mußt du dich wirklich nicht wundern, daß man u.U. nicht gleich 
dahinterkommt, was du meinst. Dazu die unklare inhaltliche 
Beschreibung... das hat also nichts mit trollen zu tun, sondern ist von 
dir verursacht.
Gast #639542
Lesenswert?

O.K. wenn ich mich nicht klar ausgedrückt habe. Schließlich bin ich 
einfacher Bastler und kein höher gebildeter Mensch. Dass ein µC im 
binären Zahlensystem arbeitet, weiß ich. Ich hatte bloß nach langer 
Bastelzeit ein Brett vor dem Kopf und das wurde mir von Andreas 
erfolgreich entfernt.
Aber du hast Recht, ich werde dir meine Fragen schicken, damit du sie 
forengerecht ausarbeiten kannst. Ich will ja nicht wieder so angemaunzt 
werden. In Ordnung? ;-P
Gruß Gerd

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