Bonjour,
J'ai une carte "explorer 16 development board" avec un PIC24FJ64GA004.
Je cherche à écrire dans l'EEPROM interne. Je suis en mode debug sur la carte avec un PICKIT2 sous MPLAB avec compilateur C30.
J'ai une erreur lors du deroulement de la fonction "__builtin_tblwtl" qui dit "PK2Error0008: Read failure (GetLastError = Une opération d'entrée/sortie avec chevauchement est en cours d'exécution.)"
Voici mon code (après lecture de la datasheet et recherche sur les forums):
int u16_addrhi=0;
int u16_addrlo = 0;
int u16_wordlo = 48;
int u16_wordhi = 0;
// Selection opération sur un mot
NVMCONbits.NVMOP0 = 1;
NVMCONbits.NVMOP1 = 1;
NVMCONbits.NVMOP2 = 0;
NVMCONbits.NVMOP3 = 0;
// Positionnement de l'adresse à écrire
TBLPAG = 0x7F;
__builtin_tblwtl(u16_addrlo,u1 6_wordlo); //equivalent to asm(" tblwtl W3,[W1]")
__builtin_tblwth(u16_addrlo,u1 6_wordhi); //equivalent to asm(" tblwth W2,[W1]")
// Autorisation écriture
NVMCONbits.ERASE=0;
NVMCONbits.WREN=1;
//Sequence pour eviter plantage ecriture
NVMKEY=0x55;
NVMKEY=0xAA;
// Lancement ecriture
NVMCONbits.WR = 1;
// Attente fin ecriture
while (NVMCONbits.WR==1){};
Quelqu'un a t-il déjà eu ca ou est une erreur de mon code (qui est quand même compilé)
Merci
-----