TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: micronet3 en 14 de Noviembre de 2016, 16:59:21
-
saludos.
queria hacer una consulta
yo estoy recibiendo datos por el puerto serie del microcontrolador haciendo uso de la funcion gets.
el problema es que gets se pone a esperar indefinidamente hasta que llegue un enter. como hacer para que solo espere un determinado tiempo y despues aborte la recepcion de datos?
saludos y gracias
-
gets() es un problema por ese motivo. Lo mas fiable es usar la interrupcion y usar getch(), ya que al ocurrir la interrupcion hay 1 solo dato y el getch siempre va a tener un valor.
Luego lo almacenas en un array ( el mismo que usas para el gets) y cuando detectas el retorno de carro o salto de linea \r\n procedes a terminar el array con 0x00 y activar una variable de 1 bit, avisandole al main que tu dato ya esta y puede leerlo.