EEPROM, lesen/schreiben geht nicht

Gast #100048
Lesenswert?
• ▲
▼
Hallo,

mit folgendem Code versuche ich, ein Byte an der ersten Stelle im
Eeprom meines Atmel-Controllers (AAT90S8515) zu speichern.
Wenn ich den Code neu compiliere und NUR die besagte Stelle auslese,
kommt 0 Inhalt zurück. Was läuft da falsch?
Angehängte Dateien:
Gast #100049
Lesenswert?
• ▲
▼
Wo läuft dein Programm hin, nachdem es die Daten an PortD geschickt
hat?
Übrigrens die 1. EEProm Zelle besser nicht verwenden, die wird beim
Programmstart gerne mal überschrieben, was zumindest bei deinem
Testprogramm jedoch egal sein dürfte.
Gast #100050
Lesenswert?
• ▲
▼
Nicht ganz, die erste EEPROM-Zelle kann überschrieben werden, wenn
während eines EEPROM-Schreibens ein Reset eintritt.  Wenn das nie
passiert (weil z. B. die Applikation selbst gar nicht im EEPROM
schreibt, sondern nur vom Programmierer hinterlegte Daten liest), ist
die erste Zelle nicht anders riskant als jede andere Zelle.

Allerdings geht allgemein die Einschätzung um, daß besonders die AVRs
der AT90-Serie anfällig gegen EEPROM-Korrumpierung sind, wenn sie
(auch read/only) in einen brown-out geraten.  Die aktuellen Chips sind
dem Vernehmen nach davon weniger betroffen, wobei mir nicht klar ist,
ob diese Aussage allgemein gilt oder nur dann, wenn man den
(verbesserten?) brown-out detector benutzt.
Gast #100051
Lesenswert?
• ▲
▼
Hallo nochmal,

das Programm bleibt in einer while-schleife hängen.
Anbei ein Versuch, das geschriebene im nächsten Kompilat auszulesen
(zuerst eine willkürliche Zelle, dann die zuvor beschriebene)... es
kommt immer nur 0 zurück.

Diesen Versuch habe ich nun auf einen Atmega16 durchgeführt. Was mach
ich nur falsch???
Angehängte Dateien:

Antwort schreiben

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