packed BCD in eine HEX-Zahl wandeln (Gcc)

Gast #639337
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
>>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?
Gast #639353
Naja, Ausgabefunktion ist übertrieben. Ich habe auf der Platine vier 
LEDs, auf die ich zum Test Werte ausgeben kann. Und da ich nicht die 
Werte sah, die ich erwartete, habe ich hier nachgefragt.
Gast #639355
Okay, ich habe den Fehler gefunden. Man sollte nicht 8 Stunden 
ununterbrochen    basteln und dann noch glauben, dass man das Programm 
aus dem Stegreif schreibt... Vielen Dank!
#639524
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
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
Gast #639603
>Also jetzt mach mal einen Punkt.

Hier hast du ihn:
1
.

Ich will keinen Streit. Es war ein Missverständnis und damit kann der 
Thread beendet werden. Viel Spaß im Forum, Uhu

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.