Hola, soy nueva en el foro y he tenido un problema que se me ha hecho complicado resolver.
Resulta que tengo un programa para leer una tecla desde el keypad y mostrarlo en la lcd, con dos condiciones para cuando es A y para cuando no es A, pero solo ejecuta una de las dos y a la segunda nunca entra, aún cuando presiono la tecla A en el keypad la muestra normalmente en la LCD y no realiza la sentencia, agradecería su ayuda.
18F4550
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#fuses HS,MCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV1,NOVREGEN,NOPBADEN,XT,NOWDT,PUT,BROWNOUT,NOLVP
#use delay(clock=20000000)
#include <LCD_FLEX.c>
#define use_porta_lcd_flex TRUE
#define use_portb_kbd TRUE
#include <kbd.c>
#include <stdlib.h>
#include <stdio.h>
char tecla;
int i=0;
void inicio(){
lcd_init();
port_b_pullups(TRUE);
lcd_gotoxy(1,1);
lcd_putc(" INICIO");
delay_ms(1000);
lcd_putc("\f");
lcd_putc("NUMERO:");
lcd_gotoxy(1,2);
lcd_putc("(A) --> GUARDAR");
lcd_gotoxy(7,1);
kbd_init();
while(i<1){
tecla=kbd_getc();
if (tecla!= 0){
if(tecla!="A"){
printf(lcd_putc,"%c", tecla);
}
if (tecla=="A"){
lcd_putc("VALOR INGRESADO");
i=1;
}
}
}
}
void main(){
inicio();
}