Autor Tema: reicibiendo cadena de texto con gets  (Leído 1008 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado micronet3

  • PIC18
  • ****
  • Mensajes: 288
reicibiendo cadena de texto con gets
« 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

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:reicibiendo cadena de texto con gets
« Respuesta #1 en: 15 de Noviembre de 2016, 09:22:50 »
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.