Forum: Mikrocontroller und Digitale Elektronik Eeprom Zugriff und Interrupts


von Oliver (Gast)


Angehängte Dateien:

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

von Ralf (Gast)


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

von Ralf (Gast)


Lesenswert?

Nachtrag:

> Ob das für den Mega32 zutrifft, weiss ich nicht... Dieser ist glaube
> ich bis 8MHz spezifiziert...

Ich meine den Mega32_L_...

Ralf

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.