hola, estoy realizando un proyecto en el cual debo guardar información en la memoria flash del pic12f617, para ello construí un código en c basado en las recomendaciones del datasheet y en el código ensamblador que ahí se encuentra. El problema que tengo radica en que al realizar simulación con mplabsim no me permite sobrescribir satisfactoriamente mas de una vez sobre la misma dirección de memoria, al realizar una nueva escritura sobre algo que ya había modificado el resultado es una operación AND.
el codigo en c que use es este:
void GuardarFlash(int pos2,int pos3){
unsigned char contscr=0;
unsigned int vector[4];
vector[0]=0x0ABF;
vector[1]=0x0CBF;
vector[2]=pos2;
vector[3]=pos3;
while(contscr<4){
PMADRL=0x10+contscr;
PMADRH=0x00;
PMDATH=(char)(vector[contscr]>>
;
PMDATL=(char)vector[contscr]&(0x00FF);
PMCON1bits.WREN=1;
////////////////////////////////////////
INTCONbits.GIE=0;
while(INTCONbits.GIE==1){}
//////////////////////////////////////////
PMCON2=0x55;
PMCON2=0x0AA;
PMCON1bits.WR=1;
NOP();NOP();
contscr++;
PMCON1bits.WREN=0;
////////////////////////////////////////
INTCONbits.GIE=1;
//////////////////////////////////////////
}
contscr=0;
}
muchas gracias por la posible ayuda