16 Bit Adresse für EEProm

OP #959173
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
>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
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
Gast #959261
C18 ist der compiler

also ich nenn das kein geheimnis.

da dir der name nicht ins auge gesprungen ist, nehm ich an du kennst ihn 
nicht. der C18 basiert am gcc, verhält sich also brav nach ansi.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 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.