16 Bit Adresse für EEProm

OP #959173
Lesenswert?

Guten Abend!

Meine Schaltung funktioniert soweit. Jetzt habe ich das Problem das ich 
ein EEProm habe bei dem ich eine High und eine Low Adresse benötige. Ich 
nehme ein unsigned int und addiere bei jedem Durchlauf 1.

1
wert++;

Wie spalte ich nun diesen Wert in 2 8 Bit Adressen auf?

Ach fast vergessen: C18 und PIC18F


Danke schon mal für eure Hilfe!
Andreas
Gast #959206
Lesenswert?

>Wie spalte ich nun diesen Wert in 2 8 Bit Adressen auf?

Du spaltest die 16Bit Adresse in zwei
unsigned char Werte auf.
Das geht z.B. mit schieben (>>8) usw. Einfach mal ins Handbuch
deines C Compilers schauen.
#959241
Lesenswert?

Ohne den Compiler zu kennen (scheint ein Geheimnis zu sein) ist schieben 
aber so ziemlich die schlechteste Lösung, jedenfalls von Timing her.

Wenn der Compiler Befehle dafür hat sind bessere Ansätze:
- oberes byte weg-ANDEN, danach byte-swap (mit einer Kopie) und nochmal.
- Befehle nutzen, die direkt das lobyte/hibyte zurückgeben.

Jochen Müller

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