C/Visual C - Leer el buffer de entrada del puerto serie

   
Vista:

Leer el buffer de entrada del puerto serie

Publicado por jaldonfer jorgealdonza@hotmail.com (31 intervenciones) el 20/11/2014 20:00:57
Hola a todos:

Tengo un pequeño proceso hecho en c que envia y recibe datos por el puerto serie.

El problema es que para poder leer todo el mensaje tengo que estár haciendo lecturas con read constantemente. De esta forma nunca salgo de este bucle.

Lo que habia pensado es colocar el la funcion "ioctl" de la siguiente forma para leer si aún quedan datos en el buffer para no volver a leer y salir del bucle:

ioctl( Lcl_InFd,
FIONREAD,
&Lcl_PendBuff
);

He hecho mil pruebas y por el parámetro "Lcl_PendBuff" siempre devuelve "0" ( hayaó no haya datos pendientes de leer.

¿ alguien me puede ayudar ?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Leer el buffer de entrada del puerto serie

Publicado por Tom (481 intervenciones) el 20/11/2014 21:15:30
http://stackoverflow.com/questions/6979769/linux-ioctl-with-fionread-always-0

En resumen, usa select(), ioctl(), read() en ese orden.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Leer el buffer de entrada del puerto serie

Publicado por Jorge (31 intervenciones) el 23/11/2014 01:35:30
Hola:

Gracias por la respuesta.

He probado con todo lo que me dice en el enlace que me has puesto, pero.... me sigue sin funcionar.


¿ Me puedes ayudar un poco más ?

Muchas Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar