PIC Data EEPROM Pic24f16KL401

OP (Firma: ETW Wollmershäuser) #3719976
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren