Forum: Mikrocontroller und Digitale Elektronik Problem: EEPROM lesen


von Patrick (Gast)


Lesenswert?

Hallo,

ich arbeite mich gerade durch das Tutorial über den EEPROM.In einem 
eigenen Programm und dem Beispielprogramm aus dem Tutorial habe ich 
dasselbe Problem:

Sobald ich an die Stelle "sbi EECR,EERE" komme, wird das Bit "EERE" 
nicht auf eins gesetzt, aber dafür das ganze Register EEDR, unabhängig, 
welche Adresse in EEAR steht. somit kommt immer 0xFF raus.

Woran kann das liegen? Der oben beschriebene Fall ist im Simulator 
aufgetreten und das Programm selbst erzeugt auf dem µC denselben Output.

Gruß
Patrick

von Stefan E. (sternst)


Lesenswert?

Patrick wrote:

> Sobald ich an die Stelle "sbi EECR,EERE" komme, wird das Bit "EERE"
> nicht auf eins gesetzt, aber dafür das ganze Register EEDR, unabhängig,
> welche Adresse in EEAR steht. somit kommt immer 0xFF raus.

Ist doch alles richtig.
EERE wird nicht auf 1 "gesetzt", sondern das Schreiben der 1 löst das 
Lesen des EEPROMs aus. Das Ergebnis des Lesens steht dann in EEDR. Und 
das 0xFF ist das, was aus dem EEPROM gelesen wurde (ein leeres EEPROM 
enthält lauter 0xFF).

von Patrick (Gast)


Lesenswert?

Eigentlich sollte das EEPROM aber nicht leer sein, ganz unten wurde ja 
".eseg daten: .db 0b10101010" oder etwas in der Art definiert. Oder 
berücksichtigt das der Simulator im AVR Studio nicht?

von Stefan E. (sternst)


Lesenswert?

Schau doch im Memory-Window einfach nach, ob es im EEPROM drin steht, 
oder nicht.

von Patrick (Gast)


Lesenswert?

Ah okay, daran lag es. Wie du sagtest, alles voller FFs :).

Aber wieso wurde der Teil für das EEPROM nicht mitübersetzt? Muss ich 
noch irgendwo ein Häkchen setzen?

von Stefan E. (sternst)


Lesenswert?

Ich habe es gerade mal selber probiert.
Du musst den EEPROM-Inhalt "von Hand" aus der .eep Datei laden (Debug -> 
Up/Download Memory).

von Patrick (Gast)


Lesenswert?

Alles klar, danke, dann weiß ich das nächstes Mal.

Gruß
Patrick

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.