Forum: Mikrocontroller und Digitale Elektronik AVR GCC: eeprom_write_byte()


von Mark U. (residuum)


Lesenswert?

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

von Stefan K. (stefan64)


Lesenswert?

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

von Mark U. (residuum)


Lesenswert?

Vielen Dank!
Dann mache ich das mal so.

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.