PDA

Ver la Versión Completa : Captura de datos por el puerto COM1 a nivel hardware..


Novatin
28-03-2014, 17:52:19
Buenas...

Existe una función que me permita monitorear los puertos COM del pc en builder?

Es decir, me gustaría implementar una función que este monitoreando el puerto serial (com1, com2 ... etc) y luego guardar los datos en algún array.

Ya se que algunos me dirán "fijate en el evento onMouseUp, onMouseDown, etc; pero realmente no es lo que quiero porque estos eventos estan apegados a los forms del builder; bueno, lo que necesito es poder capturar los bytes que envía un "mouse serial" a la pc sin que este ningun form de por medio...

No se si esta bien decirlo "a nivel hardware" (me parecio que le daba mas tono :D pero disculpad si estoy en error)

Saludos.

escafandra
28-03-2014, 18:14:22
Existen componentes para lo que quieres.

También puedes revisar esto ( http://www.delphiaccess.com/forum/c-c-49/leer-y-escribir-puertos-hardware-directamente-en-mudo-usuario/msg12533/#msg12533) aunque sólo lo probé en winXP.

Saludos.

Novatin
30-03-2014, 19:19:27
Bueno ya revise el sitio que me indicas y pude ver que esta escrito para puerto paralelo... y ahora tengo 2 dudas... :o

Ese mismo código me sería útil para puerto serial?? es decir cambiando la direccion 0x378 a 0x278 y como puedo acceder a esos datos?

Resulata que tengo un mouse instalado en el puerto serie...y uno por puerto usb...(el usb es el que uso para manejar al window). lo que requiero es como acceder a los datos que el mouse serial esta enviando a la pc? he estado desarmando algunos mouses de tipo serial... y pude ver que todos tienen un encoder con un Circuito integrado... lo que me interesa es poder detectar que señales manda el Circuito Integrado cuando este esta en movimiento y cuando esta en reposo... es decir si muevo a la izquierda el mouse qué se recibe puerto serie?? y si muevo el mouse a la derecha que se recibe en puerto serie??

un saludo

escafandra
31-03-2014, 00:27:39
Ese mismo código me sería útil para puerto serial?? es decir cambiando la direccion 0x378 a 0x278 y como puedo acceder a esos datos?


En principio si, pero ese código está diseñado para trabajar en winXP por la API que utiliza para acceder al Hardware directamente y leer/escribir de cualquier puerto. En Win8 ha he visto que no funciona y supongo que en Win7 tampoco. Windows se defiende del uso del hardware directamente por código. Experimenta con el código y saca tus conclusiones.

El acceso a los datos es en binario como se indica en ese hilo.

Existen formas de acceder a través de un driver, pero estos son dependientes del S.O. que uses. Es un tema que tengo abandonado.


Saludos.