Forum: Mikrocontroller und Digitale Elektronik PIC Data EEPROM Pic24f16KL401


von Simon F. (Firma: ETW Wollmershäuser) (simonfroehlich)


Lesenswert?

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