TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: willie_rosario_salsa en 15 de Octubre de 2010, 13:04:45

Título: Cómo salir del gets() sin el CR ???
Publicado por: willie_rosario_salsa 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
Título: Re: Cómo salir del gets() sin el CR ???
Publicado por: Suky 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!
Título: Re: Cómo salir del gets() sin el CR ???
Publicado por: willie_rosario_salsa 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...
Título: Re: Cómo salir del gets() sin el CR ???
Publicado por: Suky 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!