Buenas a todos, tengo un problema con una rutina que funcionaba perfectamente en una versión anterior del compilador PCH v.4.032, pero al instalar dicho compilador no graba un valor float en la memoria interna de un PIC 18F452
La rutina de grabación y lectura es la siguiente:
/**********************************************************************
****** ESCRITURA INTERNA EN LA EEPROM ************
********************************************************************/
write_float_int_eeprom (int n, float dato){
int i;
for (i=0; i<4; i++)
write_eeprom(i+n, *(&dato + i));
}
/**********************************************************************
****** LECTURA INTERNA EN LA EEPROM ************
**********************************************************************/
float read_float_int_eeprom (int n){
int i;
float data;
for (i=0; i<4; i++)
*(&data + i) = read_eeprom(i+n);
return (data);
}
El problema parece estar en la grabación. He intercalado un retardo de 6ms “delay_ms(6);” justo después de la instrucción write_eeprom(i+n, *(&dato + i)); pero persiste el problema.
¿Dónde puede radicar el problema?, ¿Qué estoy haciendo mal?
Gracias anticipadas.
Gaby.