PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hex Schalter einlesen und dezimal umwandeln



jarod26
21.01.2010, 10:15
hallo,
ich habe 3 hex schalter und ich will das Signal Dezimal umwandeln.

mein Dezimal Wert soll mindestens 0 und maximal 360 sein
ich hab mir überlegt, erste Schalter für Hunderter, zweite für zehner und dritte für einzer.
Ich benutze Atmega16.......
hier ist mein Programm dafür aber ich weiss nicht ob es stimmt ???

danke für die Mithilfe

damfino
21.01.2010, 13:18
Wenn du die 3 Hex Schalter nur im Bereich von 0-9 verwendest gehts.
Wenn du den Hex Bereich 0-15 verwenden willst, musst die Umrechnung entsprechend anpassen

oberallgeier
21.01.2010, 13:34
... hex schalter ... maximal 360 ...Darfs ein bisschen weniger sein? Für 255 würden ja grad zwei Schalter reichen.

Übrigens kann man Code mit dem [Code]-Tag prächtig ins Posting einarbeiten.

jarod26
22.01.2010, 12:51
hallo oberallgeier,
wäre es möglich ein Bsp Lösung zu zeigen
ja könnte auch nur 255 sein.

wkrug
22.01.2010, 13:17
Ich versteh jetzt eigentlich das Problem nicht.

Da Du ja ohnehin nur die Dezimalwerte der Schalter verwenden willst würde ich gleich BCD Schalter verwenden die nur den Wertebereich von 0...9 können.

Dann liest Du den Wert der Stelle ein uns multiplizierst ihn mit dem Stellenwert.
Ergebnis=Hunderter*100+Zehner*10+Einer
Und schon hast Du den gewünschten Wert in einer Variablen.

Wenn Du dann trotzdem Hex Wertigkeiten verwenden willst, änderst Du nur die Faktoren also.
Ergebnis=Hunderter*256+Zehner*16+Einer
Beim HEX System ginge es auch über Schiebebefehle, wenn dein Compiler nicht "schlau" genug ist, das ohnehin so zu machen.

jarod26
22.01.2010, 13:38
Hat sich erledigt

vielen Dank.