amigos: grabo el valor de un ajuste de una constante en un equipo con un pic 16f873a, prendo el equipo y la constante debe ser la que yo grabe.
luego la coloco sobre un lcd para que el operario la pueda setear y volver a grabar si quiere.
ahora me informaron que por ejemplo grabaron 0.63 y al volver a prender les salio 0.31.
despues lo chequeamos telefonicamente y el operario de las 10 veces que grabo la constante en la eeprom ,9 le devolvio el valor correcto y una vez el valor 0.31
alguna sugerencia?
este es pedazo de programa en donde lee la variable y la coloca en el lcd
lcd_init ();
printf ("SINCRONISMO ESPUMADORA
"
;
printf (lcd_putc, "f ESPUMADORA
MENTVIL"
;
delay_ms (3000);
printf (lcd_putc, "f"
;
enable_interrupts(INT_TIMER1);
enable_interrupts(GLOBAL);
x = read_eeprom ( 0 ) ;
K = ((float)x / 100.0 ) ; // k es la constante
este es el pedazo de programa de escritura
menu ( )
{
leo_tecla ( ) ;
if ( tecla == "S" ) mem_rec = 1 ; //apaga el sonido de la alarma
if ( tecla == "U" && K < 2.0 ) K = K + 0.01 ; //eleva la constante
if ( tecla == "D" && K > 0.2 ) K = K - 0.01 ; //baja la constante
if ( tecla == "K" )
{
x = (int8)( K * 100.0 ) ;
write_eeprom ( 0, x );
lcd_gotoxy ( 0 , 1 ) ;
printf ( lcd_putc, "K FUE GRABADA !!" ) ;
delay_ms ( 3000 ) ;
}
}
desde ya gracias por la ayuda!!!