Eeprom Zugriff und Interrupts

Gast #273097
Lesenswert?

Hallo zusammen,
Ich habe das Problem, dass ich (sehr selten) Müll im Eeprom stehen
habe, wo eigentlich ordentliche Display-Texte stehen sollten. Meine
Frage daher: Kann es sein, dass wenn ein Interrupt während des
Lesezugriffs auftritt, Müll in das Eeprom geschrieben wird? Das Müll
gelesen wird, könnte ich ja verstehen.
Und wenn das der Fall ist, wo sollte ich dann die Interrupts sperren
und wieder freigeben, um nicht allzu viel Zeit zu verlieren?
Ein Auszug aus dem Quelltext befindet sich im Anhang.
CPU: ATMega32L
besten Dank im voraus!
Oliver
Angehängte Dateien:
Gast #273098
Lesenswert?

Hm... Entweder hast du ein Problem mit deiner Spannungsversorgung, oder
die EEPROM-Schreib-/Lese-Routinen funktionieren nicht richtig...

Kenne mich mit AVR (noch) nicht so gut aus, aber ich glaube, beim
Schreiben ins EEPROM musst du die Schreib-Erlaubnis erst aktivieren.
Danach muss innerhalb von 4 Oszillator-Zyklen das Schreiben erfolgen,
sonst verfällt die Erlaubnis wieder... Speziell dort solltest du also
Interrupts sperren, nach dem Schreiben wieder freigeben...

Und ich meine irgendwo mal was gelesen zu haben, dass man bei einigen
AVRs, die sehr schnell getaktet sind, den Lese-Befehl zweimal ausführen
soll, damit die Chip-Hardware genug Zeit hat, um das EEPROM auszulesen.
Ob das für den Mega32 zutrifft, weiss ich nicht... Dieser ist glaube
ich bis 8MHz spezifiziert...

Wie gesagt, das sind alles Informationen, die ich noch nicht auf
Korrektheit geprüft habe. Also nicht drauf pochen, das die Infos von
mir stimmen...

Ralf

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