Hi @ all Ich habe versucht das beispiel zum beschreiben und auslesen des EEPROMS vom ATMEGA8, welches im datenblatt beschrieben ist, nachzumachen. Ergebniss: kein erfolg!! Ich habe ein wenig hier im forum gesucht und festgestellt das es passende header gibt in denen die funktionen zum schrieben und lesen ausm eeprom schon fertig sind . kurzerhand getestet und siehe da: es läuft so und hier die frage : warum kann es sein das das Beispiel aud dem datenblatt nicht funktioniert hat? ich konnte immer nur den wert 255 auslesen egal was ich reingeschrieben habe. muss man noch irgentwelche register zusätzlich setzen die nicht in den samples drin sind? thx
Hast du das berücksichtigt? ... 5. Write a logical one to the EEMPE bit while writing a zero to EEPE in EECR. 6. Within four clock cycles after setting EEMPE, write a logical one to EEPE. ... Caution: An interrupt between step 5 and step 6 will make the write cycle fail, since the EEPROM Master Write Enable will time-out. If an interrupt routine accessing the EEPROM is interrupting another EEPROM access, the EEAR or EEDR Register will be modified, causing the interrupted EEPROM access to fail. It is recommended to have the Global Interrupt Flag cleared during all the steps to avoid these problems.
In den Code-Beispielen wird vorausgesetzt, dass Interrupts bereits deaktiviert sind und damit nix "dazwischenfunken" kann.
ja hatte ich bedacht. hab vorher die Interrupts deaktiviert. außerdem hatte ich auch kein interrupt aktiviert
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.