Visual Basic.NET - Puertos Series - Comunicar

   
Vista:

Puertos Series - Comunicar

Publicado por raxe (5 intervenciones) el 01/07/2010 15:22:36
Hola a todos.

Esto en su día lo hice así, pongo los nombres originales que no se de donde salieron, me los debio de dar el sistema porque yo nunca lo hubiera llamado así.

Tengo un capturador monedero que se conecta via USB usando el protocolo de comunicaciones ccTalk.
El monedero una vez instalado y configurado queda como un "COM" en el sistema.
El programa de Demo funciona perfectamente con lo que compruebo que esta todo correcto.
El protocolo ccTalk por lo visto un standart. Las comunicaciones van en codigos ascii de 5 bytes y lleva check sum de 256 o 512

Hay que añadir al proyecto el "Serial Port" en Herramientas y cambiar el nombre de SerialPort1 a AxMSComm1.

Original: (Así funcionaba en 2005)
'Comm Variables
Dim SendCommand As Object
Dim RecvCommand As String

'254 - Simple Poll - Comprueba si hay comunicación
'TX = 002 000 001 254 255 (El ChkSum 512 correcto) - Es lo que envio
'RX = 001 000 002 000 253 (El ChkSum 256 correcto) - Debería devolver
SendCommand = Chr(2) & Chr(0) & Chr(1) & Chr(254) & Chr(255)
AxMSComm1.Output = SendCommand

RecvCommand = ""
RecvCommand = AxMSComm1.Input

Lo que no entiendo aqui es que antes reconocia "AxMSComm1.Output" y "AxMSComm1.Input" y esto ahora da error, tanto en VB2005 como en VB2010. sin embargo así funciono en su día.

Actual:
'Comm Variables
Dim SendCommand As Object
Dim RecvCommand As String

'254 - Simple Poll - Comprueba si hay comunicación
'TX = 002 000 001 254 255 (El ChcSum 512 correcto) - Es lo que envio
'RX = 001 000 002 000 253 (El ChkSum 256 correcto) - Debería devolver
SendCommand = Chr(2) & Chr(0) & Chr(1) & Chr(254) & Chr(255)
AxMSComm1.WriteLine(SendCommand)

RecvCommand = ""
RecvCommand = AxMSComm1.ReadLine

No estoy seguro si el envio de datos es correcto. Lo que si se es que la respuesta no lo es.
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