Hola a todos/as,
Estoy haciendo un programa para un 16f84 con un reloj de 4 Mhz,
Cuando meto la directiva kbhit() para ver si se recibe algo, no me hace lo que yo quiero, la estructura del programa es la siguiente
#include <16F84A.h>
#use delay(clock=4000000)
#fuses XT,NOWDT
#use rs232(baud=2400, parity=N, BITS=8, xmit=PIN_B6, rcv=PIN_A3, RESTART_WDT)
SET_TRIS_B(0b10111110) ;
SET_TRIS_A(0b01000) ;
PORT_B_PULLUPS (TRUE);
.
.
.
BUCLE
.
Entrada = " ";
if (kbhit()) {Entrada = getc();}
if(Entrada=="K") {
Proceso_uno();
}
ELSE
{
Proceso_dos();
}
.
.
.
FIN BUCLE
Sólo se ejecuta cuando le entra "K" Proceso_uno, si le entrara otra cosa Proceso_dos() no se ejecuta.
Sin embargo si quito la sentencia kbhit() Proceso_dos si se ejecuta.
Tambien si le meto el #use fast_io(A) o B no me funciona el programa
¿Alguna sugerencia?
Muchas gracias de antemano