ATmega8A kann EEPROM nicht lesen und/oder beschreiben

OP #2949785
Lesenswert?
• ▲
▼
Hallo,

meine ersten Versuche mit einem myAVR Board light und dem AtmelStudio6 
und der Programmierung in C liefen recht gut. Nun stehe ich jedoch vor 
dem Problem, dass ich das EEPROM des ATmega8A nicht lesen und/oder 
beschreiben kann.

Hier eine gekürzte Variante meines Quellcodes:

#include <avr/eeprom.h>

uint16_t eeRot EEMEM;

int main(void)
{
  DDRB |= (1 << DDRB0);
  PORTB &= ~(1 << PORTB0);

  int16_t eepromInhalt = eeprom_read_word(&eeRot);
  if( eepromInhalt == 0 )
  {
    PORTB |= (1<<PORTB0);
    _delay_ms(1000);
  }

  while(1)
  {
    eeprom_busy_wait();
    eeprom_write_word( &eeRot, 1);
    PORTB &= ~(1<<PORTB0);
    _delay_ms(1000);
  }

Meines Erachtens müsste beim ersten Lauf des Programms die an PORTB0 
befindliche LED eine Sekunden lang brennen. Nach dem nächn Reset dürfte 
sie gar nicht mehr leuchten. Es kommt aber anders, denn sie leuchtet 
nach jedem Reset eine Sekunde lang. D.h. es wird aus dem EEPROM eine 0 
ausgelesen, obwohl vor dem ausschalten eine 1 in das EEPROM geschrieben 
wird.

Ich habe auch schon versucht, den EEPROM-Inhalt über das ProgTool 
auszulesen, um zu sehen, ob das Schreiben denn funktioniert. Ich bekomme 
dabei aber einen Fehler im ProgTool.

Kann mir jemand helfen?

Viele Grüße
Peter

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.