Hi, nutze die Funktionen aus der eeprom.h. Beim schreiben ins EEPROM, sollen die Interrupts gesperrt werden. Geschieht dies automatisch, oder muss ich die Interrupts noch selber sperren? Habe dazu nichts gefunden. Mfg Sascha
Bei avr-libc-Funktionen findet man die Anwort auf solche Fragen immer im Quellcode der lib ("klickbrowsebar" im cvs auf savannah) und nein, die eeprom.h-Funktionen pruefen zwar, ob das/der Eeprom schreibbereit ist, sperren aber keine Interrupts. (Muesste auch auch im wikki avr-gcc-Tutorial erwaehnt sein)
Errm, ich widerspreche Dir selten, Martin, aber in diesem Falle hast Du wohl was übersehen: _U(eeprom_write_byte): ... in _tmp_reg_, _SFR_IO_ADDR(SREG) cli ; /* no ints between setting EEMWE and EEWE */ sbi _SFR_IO_ADDR(EECR), EEMWE sbi _SFR_IO_ADDR(EECR), EEWE out _SFR_IO_ADDR(SREG), _tmp_reg_ Da werden also sehr wohl die Interrupts im kritischen Bereich gesperrt.
Ups. Danke Joerg. Hatte das anderes in er Erinnerung und nicht mehr extra nachgeschlagen - Schnellschuss - sorry fuer die Desinformation. wikki/avr-gcc-Tutorial enthaelt somit redundante sicherung des sreg und cli. Wird baldmoeglichst korrigiert.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.