Hola migsantiago, gracias por responderme
Yo creo que si se está invadiendo el primer registro de resultado_ad, pero no sé en que momento, esto ocurre cuando ejecuto esta instrucción:
sprintf(analogo,"%04lu",resultado_ad); // le estoy diciendo que el los 4 caracteres de análogo descomponga la variable resultado_ad
Ahora, cuando defino la variable
char analogo[4]; //4 son las variables contenidas.
Esta es la fracción de código completo:
void msj_analogo1() //"RA0 = 0000 000%"
{
int i;
sprintf(analogo,"%04lu",resultado_ad);
display_4b(0 , 0x88); //Dirección donde se escribirá el mensaje
for(i=0;i<sizeof(analogo);i++) //Ciclo que envía el texto al LCD
{
display_4b(1 , analogo[i]);
}
i = ((int32)resultado_ad * 100) / 1024; //se calcula porcentaje
sprintf(analogo,"%03u%%",i);
display_4b(0 , 0x8e); //Dirección donde se escribirá el mensaje
for(i=0;i<sizeof(analogo);i++) //Ciclo que envía el texto al LCD
{
display_4b(1 , analogo[i]);
}
}
saludos.