Esto es lo que hace la entrada de un pic, conectado a un Max232, ya que los datos vienen del pc.
void main(void) {
do{
if (kbhit(){ // Si hay una pulsación de tecla
avance();
?????????? // Aquí debería volver kbhit() a FALSE
}
else { //Si no hay pulsación de tecla
detencion();
}
}
while (x<10); // Para que esté leyendo siempre las entradas
}
El problema viene que una vez que recibe una pulsación kbhit() se queda siempre a TRUE luego siempre cumple la condición y corre la subrutina avance.
Donde tengo ???????? debería resetear kbhit() a FALSE y correr la subrutina detencion hasta que nuevamente se pulse una tecla.
Como puedo resetear kbhit(), o devolverlo a su estado inicial?