Autor Tema: ayuda escritura en la memoria flash del PIC12F617  (Leído 1243 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado 88sarmiento

  • PIC10
  • *
  • Mensajes: 1
ayuda escritura en la memoria flash del PIC12F617
« en: 24 de Septiembre de 2011, 12:17:35 »
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]>>8);
               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