EEPROM schreiben ohne Unterbrechung

Gast #2695191
Lesenswert?
• ▲
▼
Hallo,

ich möchte gern das EEPROM eines Atmega644 beschreiben. Das klappt auch 
alles wunderbar. ABER, es dauert laut Datenblatt min 3,4ms. Leider wird 
per Timer jede ms ein Interreupt erzeugt. Jetzt steht aber im Tutorial, 
dass Interrupts global deaktiviert werden, wenn man mit den Funktionen 
eeprom_write_byte(&eeFooByte, myByte) arbeitet. Das wiederum würde mir 
bis zu 3 Interrupts verloren gehen lassen. Gibt es eine Möglichkeit 
dieses Problem irgendwie zu umgehen?


Ingo
Gast #2695210
Lesenswert?
• ▲
▼
Zitat:

Bei Nutzung des EEPROMs ist zu beachten, dass vor dem Zugriff auf diesen 
Speicher abgefragt wird, ob der Controller die vorherige 
EEPROM-Operation abgeschlossen hat. Die avr-libc-Funktionen beinhalten 
diese Prüfung, man muss sie nicht selbst implementieren. Man sollte auch 
verhindern, dass der Zugriff durch die Abarbeitung einer 
Interrupt-Routine unterbrochen wird, da bestimme Befehlsabfolgen 
vorgegeben sind, die innerhalb weniger Taktzyklen aufeinanderfolgen 
müssen ("timed sequence"). Auch dies muss bei Nutzung der Funktionen aus 
der avr-libc/eeprom.h-Datei nicht selbst implementiert werden. Innerhalb 
der Funktionen werden Interrupts vor der "EEPROM-Sequenz" global 
deaktiviert und im Anschluss, falls vorher auch schon eingeschaltet, 
wieder aktiviert.

Zitat Ende, 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#EEPROM

Im letzten Satz.


Ingo

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.