Hola a todos quería ver si me podían ayudar , estoy realizando en crear un menú pero no me sale , uso un teclado matricial y el * es como mi enter y los numero me sirve para seleccionar la opción, pero aun no logro que funcionen alguien tendrá uno para guiarme. mi código es el siguiente.
# include <16F877a.h>
# fuses hs,nowdt
# use delay(clock=20M)
#include <LCD420.c>
#include <KBD.c>
#include <stdlib.h>
char a, dato;
char string[3];
int va,menu=0;
int16 i=0,b=0;
int16 num;
void entrada(){
dato=kbd_getc();
if(dato !=0){
i++;
b=i-1;
string=dato;
num=atoi(string);
lcd_gotoxy(10,1);
printf(lcd_putc,"%Lu" ,num);
}
}
teclado(){
dato=kbd_getc();
va=dato-48;
if(dato!=0){
return dato;
}
}
void main(){
lcd_init();
kbd_init();
while(true){
while(menu==0){
teclado();
if(dato=='*'){
menu=1;
}
lcd_putc('\f');
lcd_gotoxy(1,1);
printf(lcd_putc,"te ");
lcd_gotoxy(1,2);
printf(lcd_putc,"te");
lcd_gotoxy(1,3);
printf(lcd_putc,"te");
delay_ms(200);
}//bucle
while(menu==1){
lcd_gotoxy(4,4);
printf(lcd_putc,"hola");
}
}//while
}//void
en este caso no pasa al otro while aunque apriete la tecla * y me di cuenta debido al delay que hay para que no parpadee el display y si se lo quita si lo ejecuta pero no se ve bien el texto, alguien podría apoyarme