hex werte addieren

Gast #284801
Lesenswert?

Hallo, ich beschäftige mich gerade ein wenig mit einem EEPROM(DS2433)
und nun hänge ich bei einem kleinen Problem:

Für die Adressierung müsste ich Hex Werte Addieren bzw Dezimal und Hex
Werte addieren. Das Funktioniert aber anscheinend nicht so einfach...

Ich Habe einen Bereich von 0000h - 01FFh und den müsste ich durchgehen.
Das ganze lauft so...
ich speichere mir die letzte Adresse zb: 00 03 --> schreibe zb: 2Byte
Daten rein --> Adresse soll auf 00 05 erhöht werden(Wie addiere ich zu
dem Hex Wert die Zahl 2 bzw wie addiere ich 2 Hex Werte?) -->
--> irgendwann ist der Bereich 00FFh erreicht, gibt es da eine Funktion
um zu shifften oder so ähnlich oder mach ich das zb: mit einer if
abfrage???

Kann mir hier jemand ein Code Beispiel schreiben oder die Funktionnen
die ich dazu benötige???


Wem das zu kompliziert ist, einfach sagen was nicht verstanden
wurde...es ist kein sehr einfaches Problem

Danke lg
#284802
Lesenswert?

Es gibt in Wirklichkeit gar keine Hexzahlen, die bildest du dir nur
ein.
:-)

Hex ist nur eine Schreibweise, denk ruhig in Dezimal, wobei du in ein
Byte nur 0-255 reinbekommst, also 3+2=5, wenn du in Assembler schreibst
dann werte bei der Addition das Carryflag aus, und addiere dann 1 zum
Highbyte falls es gesetzt ist.
Gast #284804
Lesenswert?

hm danke ;) muss schaun da passt irgendwas anderes auch noch nicht!! der
tipp mit dem uint16_t ist sehr gut....danke.

irgendwie hat das Ding jetzt ein bisschen ein Eigenleben bekommen...ab
0A resetet sich der AVR zwischendrinnen und durchläuft das ganze
Programm nochmal...dabei rechnet er folgendermaßen:

0A...0A --> 0B

dh: er muss es zweimal durchlaufen um die Zahl zu erhöhen...ich Blick
da grad nicht mehr so recht durch...mal bisschen Ruhen lassen!!

lg

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