Forum: Mikrocontroller und Digitale Elektronik EEPROM mit IAR, Mega8 nutzen?


von Harry (Gast)


Lesenswert?

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);
    }

}

von mthomas (Gast)


Lesenswert?

so ?:
__EEGET(font_table [i][j], start_addr++);
(forum heisst "gcc"...)

von Harry (Gast)


Lesenswert?

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?

von Jörg Wunsch (Gast)


Lesenswert?

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

von Alex (Gast)


Lesenswert?

Da gibt es ein Fusbit für, was das regelt, glaube ich.

von Harry (Gast)


Lesenswert?

Super, genau das war es. Danke allseits!

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
Noch kein Account? Hier anmelden.