Visual Basic - Leer Puerto COM MSComm

Life is soft - evento anual de software empresarial
 
Vista:

Leer Puerto COM MSComm

Publicado por Luis Aray (1 intervención) el 20/03/2013 17:19:29
Hola a todos,
estoy recien comenzando a trabajar con el MSCOMM y tengo unos problemas, el puerto lo puedo abrir bien, pero no logro recepcionar nada, no se si debo enviar al dispositivo serial "algo" para que envie la info que tiene almacenada?
el dispositivo es un lector de tarjetas, dejo el codigo que tengo, como pueden ver es muy simple, por ahora solo me interesa porder comunicarme y obtener la info...

de antemano gracias a todos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Private Sub Form_Load()
MSComm1.Settings = "19200,N,8,1"
MSComm1.InputMode = comInputModeText
'MSComm1.InputMode = comInputModeBinary
MSComm1.InputLen = 0
'MSComm1.InputLen = 1
MSComm1.CommPort = 1
MSComm1.PortOpen = True
 
 
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
MSComm1.PortOpen = False
End Sub
 
Private Sub MSComm1_OnComm()
 
Dim b As String
'Dim b As Byte
 
If MSComm1.CommEvent = comEvReceive And MSComm1.InBufferCount > 0 Then
'Has recibido datos
Text1.Text = MSComm1.Input
 
End If
 
End Sub
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 Puerto COM MSComm

Publicado por Rachel (1 intervención) el 07/05/2013 22:22:18
Hola a todos, yo estoy trabajando al igual que Luis con un dispositivo Lector de Tarjetas, sin embargo ya logro enviar una cadena valida al dispositivo lector, y me reconoce estos datos encendiendo el led (in) pero en cuanto el dispositivo me envia un primer dato y enciende el led (out) mi PC se bloquea, Estoy trabajando en Visual Basic 6 y con MsComm y lo configuro de la siguiente manera:
With MSComm1
.CommPort = 5
.Settings = "19200,N,8,1"
.InputLen = 0
.Handshaking = comNone
.RThreshold = 1
.RTSEnable = True
.DTREnable = True
.InputMode = comInputModeText
.SThreshold = 1
If Not .PortOpen Then
.PortOpen = True
End If
End With
y envio la siguiente cadena
MSComm1.Output= "02 30 30 30 30 34 34 42 42 03 02 30 30 30 30 34 34 42 42 03 02 30 30 30 30 37 42 38 34 03 02 30 30 30 30 37 42 38 34 03 02 30 30 30 30 31 30 30 30 30 37 30 30 44 35 33 31 30 30 30 43 03 46 46 46 46 46 46 02 30 30 30 30 30 35 30 31 30 34 31 39 30 46 32 34 32 36 45 42 03 46 46 46 46 46 46 02 30 30 30 30 38 30 31 35 30 34 31 39 30 46 32 34 32 36 37 41 03 46 46 46 46 02 30 30 30 31 30 31 46 46 03 02 30 30 30 30 30 32 44 46 32 36 30 33 31 33 31 34 03 46 46 46 46 46 46 02 30 30 30 30 31 30 30 30 30 39 30 30 46 34 37 31 30 30 36 33 03 46 46 46 46 02 30 30 30 31 30 31 46 46 03"
la cual me recibe el lector y enciende el led (in)
sin embargo no alcanza a activar el evento MSComm1_OnComm() ya que se bloquea toda la PC antes.
si alguien me puede ayudar, mil gracias de antemano...
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