Buenas!!!
aunque no posteo mucho os leo bastante, por desgracia tengo excesivos Hobbies...
Al grano, despues de utilizar 10000000 de veces la funcion write_eeprom... me ha dejado de funcionar ¿? al menos en mi programa, utilizo CSS 4.104. Tiene que ser una tonteria pero... llevo varios dias probando y no la encuentro.
Utilizo la eeprom para inicializar nuevos pics o bien restablecer valores de fabrica, el "individuo" un 16f688, esta es la inicializacion del programa:
......................
temp_rele1 = read_eeprom (0x00);
temp_rele2 = read_eeprom (0x01);
temp_rele3 = read_eeprom (0x02);
histeresis = read_eeprom (0x03);
if (((temp_rele1 == 0xff) && (temp_rele2 == 0xff) && (temp_rele3 == 0xff) &&(histeresis == 0xff)) || (fabrica == 1))
{
printf("Restaurados valores por defecto.");
salto_linea();
temp_rele1 = 90;
temp_rele2 = 100;
temp_rele3 = 103;
histeresis = 5;
write_eeprom (0x00, temp_rele1);
write_eeprom (0x01, temp_rele2);
write_eeprom (0x02, temp_rele3);
write_eeprom (0x03, histeresis);
}
printf(" %u %u %u %u ",temp_rele1, temp_rele2, temp_rele3, histeresis);
...........El caso es que al cargarlo en el pic, nunca, digo nunca, pone los valores de las variables correctamente en eeprom, los deja a 0xff con los pics nuevos o bien si intentas modificar la eeprom desde otro punto del programa (modificacion de variables o restore de fabrica...)
las variables temp_releX e histeresis son int, aunque tambien lo he probado con unsigned int.... tambien he cambiado el pic por si estuviera averiado... y sigo igual
¿Alguna idea de que me puede estar pasando?
Gracias de antemano.
Saludos.