Autor Tema: Cómo salir del gets() sin el CR ???  (Leído 1850 veces)

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

Desconectado willie_rosario_salsa

  • PIC12
  • **
  • Mensajes: 75
Cómo salir del gets() sin el CR ???
« en: 15 de Octubre de 2010, 13:04:45 »
Saludos a todos,

tengo un pequeño problema con un programa que estoy realizando, recibo por el serial la siguiente cadena:

#int_rda     
void rx_rfid (void){
   fgets(buff1,com_hard);       
   printf ("\n\rRecibido: %s",buff1);                                               
}

Y cuando recibo:
LF + Ready + CR + LF

El micro se queda ciclado y no sé cómo hacerlo salir de la interrupcíon ya que esto sólo pasa cuando al final de la cadena se envía el CR (0x0D)

Favor una ayuda o una idea para poder recibir esta trama

Saludos
"Es chévere ser grande, pero... Más grande es ser chévere." --- Héctor Lavoe.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Cómo salir del gets() sin el CR ???
« Respuesta #1 en: 15 de Octubre de 2010, 13:43:15 »
Recibí byte por byte mediante un bucle while o for. Utilizando gets no podrás salir hasta enviarle los datos correspondientes.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado willie_rosario_salsa

  • PIC12
  • **
  • Mensajes: 75
Re: Cómo salir del gets() sin el CR ???
« Respuesta #2 en: 15 de Octubre de 2010, 13:53:07 »
Eso debería hacerlo con la función getc () ???

O me equivoco?

Nunca la he usado por eso ando un poquito perdido..

Gracias por responder...
"Es chévere ser grande, pero... Más grande es ser chévere." --- Héctor Lavoe.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Cómo salir del gets() sin el CR ???
« Respuesta #3 en: 15 de Octubre de 2010, 15:38:31 »
Con getc, también hay otra función para esperar a que llegue el dato y luego leerlo, creo que es kbhit o algo así.


Saludos!
No contesto mensajes privados, las consultas en el foro