Hallo,
ich habe ein Problem, und zwar möchte ich bei meinem Mikrocontroller
Pic24F16KL401 das Data EEProm verwenden.
Um es zu beschreiben habe ich folgenden Quellcode:
int _attribute_ ((space(eedata))) eeData;
void WriteEEprom(BYTE StartEEAdresse, WORD *Data)
{
WORD offset, newData;
NVMCON = 0x4004;
TBLPAG = __builtin_tblpage(&eeData);
offset = __builtin_tbloffset(&eeData);
offset += StartEEAdresse * sizeof(int);
newData = *Data;
__builtin_tblwtl(offset, newData);
asm volatile ("disi #5");
__builtin_write_NVM();
while(_WR);
}
Wenn ich es beschreibe und direkt wieder auslese ohne die
Versorgungsspannung zu trennen, bekomme ich mein beschriebenen Wert
zurück. Wird die Versorgungsspannung entfernt, und das EEprom ausgelesen
so erhalte ich den vorherigen Startwert "0xFFFF".
Wenn ich das EEprom beschreibe, kommt es mir so vor das die Daten nur im
Latch stehen und nicht in das EEprom geschrieben werden.
Gibt es noch etwas, was man beachten muss um das EEprom zu verwenden?
Mit freundlichen Grüßen
Simon
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.