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
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.