Hola a todos,
os escribo por que estoy teniendo serios problemas a la hora de escribir n la memoria interna del PIC18F27 J53. No dispone de memoria EEPROM por lo que tengo que escribir directamente los valores que quiero guardar en la memoria flash.
El problema lo tengo a la hora de sobreescribir una posición ya escrita. No se almacena el valor correctamente e incluso cuando borro e intento escribir de nuevo no se guarda.
El bloque de escritura que estoy utilizando es de 2 Bytes y el de borrado de 1024 bytes.
os adjunto el código y una captura del problema en Proteus.
Un saludo y muchas gracias !
#include <18F27J53.h>
#fuses NOCPUDIV,NOWDT,NOPROTECT,PLLEN,PLL2,CLOCKOUT,INTRC_PLL_IO// , NOPROTECT
#PIN_SELECT RX2=PIN_C1 //Pines utilizados para la UART
#PIN_SELECT TX2=PIN_C0
#use delay(clock=48000000)
#use rs232(uart2,baud=920000,xmit=PIN_C0,rcv=PIN_C1,bits=8,stream=PORT1 )
void main()
{
disable_interrupts(GLOBAL);
//delay_ms(100);
write_program_eeprom(0x1FF80,0xAABB);
//delay_ms(500);
write_program_eeprom(0x1FFC0,0xCCDD);
erase_program_eeprom(0x1FF80);
write_program_eeprom(0x1FF80,0xAABB);
while(1);
}