Forum: Mikrocontroller und Digitale Elektronik EEPROM beschreiben beim AT89C51ED2


von Thomas Grünewald (Gast)


Lesenswert?

Ich habe auch mal ein problem mit dem EEPROM beim obengenannten µC.

versuche ich den EEPROM einzeln zu beschreiben funktioniert es mit dem
unten angegebenen Code - in einer schleife allerdings nicht mehr.

#define EE_STORE(addr)    XBYTE[0x0000 + addr]
#define TST_BIT_SFR(addrx,mask) (addrx & mask)
#define SET_BIT_SFR(addrx,mask)  (addrx = (addrx | mask))
#define CLR_BIT_SFR(addrx,mask) (addrx = (addrx & ~mask))

Sfr (EECON,  0xD2 );

---------------------------------------------------------------

data WORD i;
data BYTE *ptr = &EE_Data;

for(i=0; i<sizeof(EE_Data); i++) {
  while(TST_BIT_SFR(EECON, 1));

  EA = FALSE;
  SET_BIT_SFR(EECON, 2);
  ptr[i] = EE_STORE(i);
  CLR_BIT_SFR(EECON, 2);
  EA = TRUE;

}

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.