Bonjour,
Je cherche à écrire dans la mémoire flash du pic 18f97j60.
J'ai créé la fonction d'écriture, mais celle-ci ne fonctionne pas. Pourtant j'ai fait comme il disait dans la datasheet.
Enfaite quand je lit se que je viens d'écrire j'obient tout le temps 0xFF
Mon programme :
La datasheet :Code:void writeProgramMemory(unsigned short address, char data) { int i; TBLPTRU = 0; TBLPTRH = (char)(address >> 8); TBLPTRL = (char) address; // ERASING A FLASH PROGRAM MEMORY EECON1bits.WREN = 1; EECON1bits.FREE = 1; INTCONbits.GIE = 0; EECON2 = 0x55; EECON2 = 0x0AA; EECON1bits.WR = 1; INTCONbits.GIE = 1; // WRITING TO FLASH PROGRAM MEMORY for (i=0; i < 64; i++) { TABLAT = data; _asm TBLWT _endasm TBLPTR += 1; } EECON1bits.WREN = 1; INTCONbits.GIE = 0; EECON2 = 0x55; EECON2 = 0x0AA; EECON1bits.WR = 1; INTCONbits.GIE = 1; EECON1bits.WREN = 0; }
Je n'arrive pas du tout à résoudre mon problème. Si vous pouvier m'aider ?
Merci d'avance pour vaux réponses.
-----