Como hago una subrutina para escribir en la eeprom de pic? la que hice me escribe el primer dto, ya la segunda vez que la llamo no escribe nada, ni la tercera etc. Como le digo desde C que quiero escribir un valos espesifico en la eeprom, pues me toca cargar el programa en el grabador, luego meterle los datos para la eepron uno a uno y luego grabar el pic, quero que esos valores lo cargue con los valores del programa, los del #fuses, etc.
mis subrutinas de lectura y escritura:
// SubRutinas
// LECTURA de la EEPROM
void leer(int dir)
{
eeadr = dir;
bit_set(eecon1,RD);
dato_leido = eedata;
}
// ESCRITURA de la EEPROM
void escribir(int dir, int date)
{
eeadr = dir;
eedata = date;
bit_set(eecon1,2); // 2
eecon2 = 0x55;
eecon2 = 0xaa;
bit_set(eecon1,1); // 1
while(!bit_test(eecon1,4));
{ // inicio WHILE final de escritura
delay_us(1);
} // fin WHILE final de escritura
bit_clear(eecon1,4); // 4
bit_clear(eecon1,2); // 2
}
Otra cosa, declare por bit los valores del registro y no me funcionan, a la final me toco poner el "registro,bit" en vez de "registro,variable"
#bit RD = eecon1.0
#bit WR = eecon1.1
#bit WREN = eecon1.2
#bit WRERR = eecon1.3
#bit EEIF = eecon1.4