Forum: Compiler & IDEs hex werte addieren


von tester (Gast)


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

von Fritz G. (fritzg)


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.

von Fritz G. (fritzg)


Lesenswert?

Aja, wenn du in C schreibst (ist ja das GCC Forum) dann speicher das in
einen 16-bit Integer (uint16_t) und addiere ganz normal. Der Überlauf
ist dann halt erst bei 0xffff.

von tester (Gast)


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

von Ingo (Gast)


Lesenswert?

poste doch mal den Sourcecode. Dann bekommst Du sicher auch mehr Hilfe.

von Michael L. (riegaz)


Angehängte Dateien:

Lesenswert?

So hier der sourcecode..vielleicht kann mir ja wer helfen :D wäre echt
super!!!


Danke

von Michael L. (riegaz)


Lesenswert?

Nachtrag:

Für alle, denen es weiterhilft....das Datenblatt!

http://pdfserv.maxim-ic.com/en/ds/DS2433.pdf

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.