Moin, mal eine Anfängerfrage zu EEPROM. Ich beschreibe und lese es mit folgender Routine, die ich aus den Butterfly-Quelltexten angepasst habe. Das Beschreiben funktioniert auch soweit (zumindest sind bei auslesen des EEPROMs mit Pony die richtigen Daten drin), aber beim Lesen werden lauter 0x00 gelesen. Auch eine Suche im Forum hat keine zündende Idee gebracht, vielleciht könnt ihr mir helfen? void write_to_eeprom (void) { unsigned char i,j; unsigned int start_addr=0x0000; for (i=0; i<91; i++) for (j=0;j<5;j++) __EEPUT(start_addr++,font_table2 [i][j] ); start_addr=0; for (i=0; i<91; i++) for (j=0;j<5;j++) { __EEGET(font_table [i][j], start_addr); } }
so ?: __EEGET(font_table [i][j], start_addr++); (forum heisst "gcc"...)
Ohh man, so einfach kann das Leben sein. Danke! Mal wieder ein Beweis, dass ein frischer Blick die Fehler weitaus schneller finden kann. In dem Zusammenhang noch eine weitere Frage. Wie kann ich den dem Pony beibringen, dass er nur den Flash, und nicht das EEPROM gleich mitbeschreiben soll? Habe jetzt nach einmaligen ausführen des obigen Programms die Schreibroutine rausgeschmissen und das Programm ins Flash neu gebrannt. Nun wird aber das EEPROM mit 0xFF überschrieben. Gibt es da irgendeinen Trick? PS: Wo hätte ich ich sonst reinposten sollen, es gibt ja kein anderes Unterforum mit C. Oder?
Der EEPROM wird wohl eher durch das chip erase gelöscht als neu beschrieben. Setze die EESAVE Fuse. (Achtung: guck Dir bei den Fuses zusammen mit Ponyprog genau an, daß es die richtige Richtung wird, Ponyprog ist berüchtigt dafür, den Bediener zum Falschprogrammieren mit teilweise horrenden Folgen zu verführen...)
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.