[C con Clase] comunicación con lector RFID USB (COM)
Steven Davidson
srd4121 en njit.edu
Mie Feb 25 20:20:10 CET 2009
Hola David,
David Sacie Alcazar wrote:
> Necesito ayuda. LLevo algunos días buscando información sobre como
> conseguir en c++ comunicarme con un lector a través del puerto serie.
> La verdad es que lo único que encontré fue un ejemplo en preguntas
> frecuentes de c.conclase.net <http://c.conclase.net>, pero no lo
> entiendo muy bien . Por lo pronto lo único que necesito es enviarle
> unos comandos y recibir unos números de serie. La ayuda la necesito
> para establecer la comunicación y conseguir enviar y recibir datos.
> gracias por todo.
>
Como ni C++ ni sus bibliotecas estándares ofrecen ninguna funcionalidad
para controlar los puertos de comunicación. Esto significa que tendrás
que echar mano a bibliotecas no estándares para tu plataforma y
compilador. Dicho esto, me temo que no te podemos dar una solución
exacta porque desconocemos estas características: la plataforma,
compilador, y bibliotecas no estándares que estés usando.
En la sección de preguntas frecuentes en nuestra página, mostramos parte
del código fuente para una aplicación desarrollada usando el API de
MS-Windows, obviamente para MS-Windows. Básicamente, creamos un "fichero
especial" para comunicarnos con el puerto de serie a través de
'CreateFile()'. Antes de enviar y recibir datos en este "fichero",
configuramos el puerto indicando la velocidad en baudios, los bytes a
tratar en las transmisiones, los bits de paridad, y el bit de parada.
Existen más parámetros en la estructura DCB para configurar el puerto.
Una vez que tengamos todo preparado, ya podemos enviar y recibir datos
usando las funciones 'WriteFile()' y 'ReadFile()', como si se tratara de
un fichero "normal y corriente". También existen otras funciones
especiales para tratar con el puerto COM, como 'TransmitCommChar()', que
básicamente envía un solo 'char' (byte) al puerto.
Para más información acerca de las funciones del API de MS-Windows
concerniendo la gestión del puerto de comunicaciones, puedes dirigirte a
MSDN. En particular, puedes ir a:
http://msdn.microsoft.com/en-us/library/aa363196(VS.85).aspx También
encontrarás algunos ejemplos.
Si usas otra plataforma u otras bibliotecas, entonces necesitarás
consultar su manual de referencia para los detalles.
Espero que esto te ayude.
Steven
Más información sobre la lista de distribución Cconclase