Forum: Mikrocontroller und Digitale Elektronik lesen des eeproms atmega8


von Sven Friedriszik (Gast)


Lesenswert?

Guten Abend...
ich habe ein Verständnisproblem bzgl. des EEProms bzw. der
Adressierung. Wenn ich das richtig verstehe hat der mega8 einen 16-Bit
Adressbus fürs EEPROM. Ich schreibe die Adresse ja in zwei Register.
Dazu benutze ich die low() und high() Funktionen des Assemblers. Jetzt
stellt sich mir die Frage wie ich die Adresse am einfachsten
incrementiert bekomme. Das benötige ich doch um Strings aus dem Ram
übers UART zu senden.
Den Befehl inc kann ich nicht verwenden, da ich die Adresse nicht in
ein Register bekomme...
Wie wird diese Problem üblicherweise gelöst?

Weiss wie gesagt nicht ob ich das alles schon ordentlich verstanden
habe, vielleiicht könnt ihr mir helfen das zu handhaben...

Vielen Dank
Sven

P.S.: Das AVR Speicher Tutorial konnte mir nicht helfen, da das
Beispiel von einem Controller mit 8-Bit Datenbus stammt. Die Suche
führte ebenfalls zu keinem brauchbaren Ergebnis.

von Wolle (Gast)


Lesenswert?

Du mußt nur das LOW-Byte der Adresse inkrementieren. Erst wenn es
überläuft-zu Null wird, mußt du das HIGH-Byte einmal inkrementieren.
Dann wieder das LOW-Byte........usw....usw.......

von Sven Friedriszik (Gast)


Lesenswert?

Also muss ich nach jedem inkrementieren des LOW Bytes abfragen ob es 0
geworden ist und ggf. das HIGH Byte zusätzlich inkrementieren...
Danke schonmal, müsste hinzukriegen sein mit meinem "Basiswissen" ;)

von Matthias (Gast)


Lesenswert?

Hi

z.B. mit ADIW und den Doppelregistern R24, R26, R28 und R30

Matthias

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.