Problema al desconectar MSCOMM
Tengo un problema al desconectar el componente MSCOMM.
Lo utilizo para el envío y recepción de datos a través de puerto serio. Todo funciona correctamente. Pero cuando finalizo el programa y cierro el puerto MSCOMM. OpenPort = FALSE el programa se cuelga y no finaliza, el puerto se queda abierto y tengo que reiniciar el equipo.
Para abrir el puerto utilizo:
If Not MSComm1.PortOpen Then
' Use COM1.
MSComm1.CommPort = 1
' 9600 baud, no parity, 8 data, and 1 stop bit.
MSComm1.Settings = "4800,N,8,1"
MSComm1.InputLen = 0
' Open the port.
MSComm1.PortOpen = True
Caption = "Prueba del comunicador. CONECTADO."
Else
MsgBox "El puerto está abierto", vbError, "Error"
End If
Para desconectar compruebo que no hay nada en el buffer de lecturar y si no hay nada
Ejecuto
MSCOMM1.openPort = FALSE
Y en esta linea se queda colgada la ejecución del programa.
¿Tengo que enviar algún bit para desconectar.?
¿No se puede desconectar en cualquier momento?
Lo utilizo para el envío y recepción de datos a través de puerto serio. Todo funciona correctamente. Pero cuando finalizo el programa y cierro el puerto MSCOMM. OpenPort = FALSE el programa se cuelga y no finaliza, el puerto se queda abierto y tengo que reiniciar el equipo.
Para abrir el puerto utilizo:
If Not MSComm1.PortOpen Then
' Use COM1.
MSComm1.CommPort = 1
' 9600 baud, no parity, 8 data, and 1 stop bit.
MSComm1.Settings = "4800,N,8,1"
MSComm1.InputLen = 0
' Open the port.
MSComm1.PortOpen = True
Caption = "Prueba del comunicador. CONECTADO."
Else
MsgBox "El puerto está abierto", vbError, "Error"
End If
Para desconectar compruebo que no hay nada en el buffer de lecturar y si no hay nada
Ejecuto
MSCOMM1.openPort = FALSE
Y en esta linea se queda colgada la ejecución del programa.
¿Tengo que enviar algún bit para desconectar.?
¿No se puede desconectar en cualquier momento?
1 Respuesta
Respuesta de xaviz
1