vb tiene un error al leer los datos del microcontrolador a través del puerto serie, urgente!!!!!1
MSComm1.RTreshold = 0 'Desactivar la recepción de eventos OnComm
Pruébalo y estudiar si hay algún problema. Es incorrecto cambiar el umbral a 28.
Permítame darle una referencia al programa que escribí hace algún tiempo. Los requisitos específicos están en él. No puedo seguirlo ahora.
Dim. av como variante
Dim datacount As Long
Private Sub cmdClear_Click()
grdData.PortOpen = False
Finalizar si
cmdReceive.Enabled = True
lblStatus.Caption = "Dejar de recibir, inactivo"
Fin Sub
Sub privado cmdReceive_Click()
'Configuración del puerto serie
Usar MSComm
.CommPort = 1
.Settings = "19200,N,8,1" '***** 9600 - 19200
.RTreshold = 1 'Recibir 1 byte para activar el evento oncomm
.InputMode = comInputModeBinary
.InputLen = 1 'La longitud de entrada es 1
.InBufferCount = 0 'Borrar el buffer de recepción
Terminar con
'Abrir el puerto
Si MSComm.PortOpen = False Entonces
MSComm.PortOpen = True
Si Err Entonces
MsgBox (Err.
Salir Sub
Finalizar si
End If
lblStatus.Caption = "Puerto abierto, esperando recibir"
datacount = 0
cmdReceive.Enabled = False
av = MSComm .Input '*****
marco de datos(5) = av(0) '*****
T1 = marco de datos (2) + CLng(dataframe(3) )* 256 + CLng(dataframe(4))* 65536 + CLng(dataframe(5))* 16777216 'Calcular T1 '*****
Fin If
Do
DoEvents
Bucle hasta MSComm.InBufferCount >= 1 'Bucle y espere a RecibirBuffer> = 1 byte
av. = MSComm.Input 'Leer una palabra recibida Festival.
Entrada 'Leer un byte recibido
dataframe(6) = av(0) 'Convertir a bytes'***** 4 - 6
'Recibir T2
Si dataframe(6) = &HA0 Entonces
'MSComm.RTreshold = 0 'Desactivar la recepción de eventos OnComm
'Bucle hasta el búfer de recepción >= 2 bytes p>
Do
DoEvents
Bucle hasta MSComm.InBufferCount >= 4 '**** * 2 - 4
av = MSComm.Input
marco de datos(7) = av(0)
av = MSComm.InBufferCount >= 4 '**** * 2 - 4