Utilice MSCOMM en VB para escribir un programa para leer datos en serie.
Subcomando privado 1_Click()'Enviar
"Número como entero" define números enteros.
' Dim outbyte(0) As Byte ' define una matriz de bytes.
Número = Val(Text1.Text)' Convertir a tipo numérico.
Outbyte(0) = CByte(número)' se convierte a tipo byte.
MSComm1. 'OutBufferCount = 0 'Borra el búfer de envío.
MSComm1. Salida = outbyte Byte 'Enviar
End Sub 'End
Private Sub Command2_Click()' evento de clic en el botón.
MSComm1. 'Cierra el puerto serie.
Desinstalar formulario 1 'Desinstalar formulario 1.
Conector final
Evento de carga de formulario privado subform_Load()
MSComm1. CommPort = 1 'Configura el puerto serie en com1.
MSComm1. Configuraciones = "9600, n, 8, 1 " 'Parámetros de comunicación velocidad en baudios bit de paridad bit de datos bit de parada.
MSComm1. Recepción binaria "InputMode=cominputModebinary"
MSComm1. PortOpen = True 'Abre el puerto serie.
MSComm1. 'InBufferCount = 0 'Borra el buffer de recepción.
Cuando se recibe un carácter en mscomm1, se genera un evento OnComm. umbral = 1 'búfer.
Conector final
El subcomm privado 1 _ on comm()' se activa al transmitir datos.
' Dim indata As Variant 'Define variables.
Dim arr(0) As Byte 'Define una matriz de bytes.
Seleccione casoscomm1. commevent""atributo commevent: devuelve el último evento o error de comunicación. Al consultar sus valores de atributos específicos, se puede obtener información completa sobre eventos de comunicación y errores de comunicación. Cuando su valor es comEvReceive, significa que se han recibido los datos.
"Case comEvReceive" tiene un evento de recepción.
Indatos = MSComm1. Los datos recibidos por "entrada" se almacenan en indata.
Arr(0) = AscB(indata)' devuelve el valor de indata.
Texto 2. Text = arr(0)' muestra datos en text2.
MSComm1. 'InBufferCount = 0 'Borra el buffer de recepción.
Finalizar selección
Finalizar conector
Agregar al formulario
Texto1 muestra los datos enviados.
Texto2 muestra los datos recibidos,
Botón de envío Comando1,
Control de comunicación Mscomm1,
¿Es hora de entender? No hay nada que pueda hacer si ya no entiendo.