AVR GCC: eeprom_write_byte()

OP #5085280
Hallo zusammen,

jetzt will ich ins EEPROM eines ATmega schreiben und dafür eine Funktion 
aus der avr-libc verwenden: eeprom_write_byte().

Die Dokumentation habe ich hier gefunden:
http://www.nongnu.org/avr-libc/user-manual/group__avr__eeprom.html

Danach wird vor dem Schreiben geprüft, ob das EEPROM bereit ist und 
geg.falls so lange gewartet.

Wie aber ist das nach dem Schreiben?
Aus der o.g. Dokumentation würde ich schließen, dass die Funktion den 
Schreibvorgang anstößt und dann zurück kommt, d.h. sie wartet nicht, bis 
der Schreibvorgang abgeschlossen ist.

Ist diese Vermutung richtig?
Danke.

Gruß
Markus
Ja.

Vor dem Schreiben zu warten, ist die intelligentere Methode. Denn wenn 
Du nur sporadisch schreibst, dann wirst Du fast nie warten müssen. 
Umgekehrt musst Du immer warten, wenn Du nach dem Schreiben auf ready 
kontrollierst - selbst wenn das Eeprom danach lange nicht angesprochen 
wird.

Schief gehen kann eigendlich nur etwas, wenn beide Methoden vermischt 
benutzt werden. Also für den Eeprom-Zugriff durchgängig  die avr-libc 
Funktionen benutzen!

Viele Grüße, Stefan

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 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.