Atmega32 EEprom

Gast #1143873
Lesenswert?
• ▲
▼
Egal an welcher Stelle ich den EEprom beschreibe. Beim Auslesen steht 
immer

0x01 0x01 0x01 0x02 0x02 0x02 0x02 usw.

Die ersten drei Byte werden mit der zweiten Schleife nicht 
überschrieben.

Ich habe keine Idee mehr, woran das liegen könnte. Das überschreiben der 
ersten drei geschriebenen Bytes klappt einfach nicht.

Vielleicht hat jemand eine Idee!?

Vielen Dank im voraus,
tom
Angehängte Dateien:
Gast #1144062
Lesenswert?
• ▲
▼
@Steffen @Lutz Danke!

Die uint8_t i; taugt für Speicherstellen über 255 nicht. Ich weiß.

Nur es bleibt wie es ist. Bei der zweiten Schleife werden die ersten 
drei Stellen nicht überschrieben.

Selbst wenn ich die zweite Schleife, durch

eeprom_write_byte(0,0x02); ohne Schleife ersetze  steht da immer noch an 
der ersten SpeicherStelle 0x01!

eeprom_write_byte(4,0x02);  ersetzt andstandslos die 0x01 durch die 0x02 
an der vierten SpeicherStelle.

Die ersten drei Stellen sind irgendwie wie zugenagelt.
Einen anderer µC macht das gleiche.
Gast #1145150
Lesenswert?
• ▲
▼
Den Inhalt der for-Schleifen solltest Du mal in geschweifte Klammern 
setzen. Die werden mit dem erforderlichen eeprom_busy_wait() for jedem 
Schreibvorgang  sowieso erforderlich. EEPROM ist nämlich verhältnismäßig 
langsam, schau mal ins Datenblatt wegen dem timing und busy-abfragen.

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