Red de conocimiento informático - Problemas con los teléfonos móviles - comunicación serie vb

comunicación serie vb

El código BCD es un código 8421 que divide un byte en dos partes. Los 4 bits superiores representan un número y los 4 bits inferiores representan un número. En otras palabras, la forma en que la computadora reconoce si un byte es un código binario o un código BCD se calcula a través del código del programa.

Mi comprensión se puede simplificar al comprender los números hexadecimales:

Cada 2 códigos BCD constituyen un byte, y cada byte de datos binarios recibidos debe procesarse en caracteres hexadecimales. Solo puede estar en el rango 00-99, no en el rango 00-FF. Salida = sendsj

End Sub

Sub privado Form_Load()

MSComm1.Settings = "9600, N, 8.1"

MSComm1 .CommPort = 1

MSComm1.PortOpen = Verdadero

MSComm1.PortOpen = Verdadero

MSComm1.PortOpen = Verdadero

MSComm1.PortOpen = TrueRTreshold = 17

txtSend = "R"

txtReceive = ""

Sub final

Sub privado MSComm1_OnComm()

Dim BytesReceived() como byte

Dim buffer como cadena

Dim HData como cadena

Dim i como entero

Seleccione Caso MSComm1.CommEvent

Caso comEvReceive 'Recibir datos hexadecimales. Mostrar en hexadecimal

MSComm1.InputLen = 0

MSComm1.InputMode = comInputModeBinary 'Configurado para recibir los datos actuales en binario

buffer = MSComm1.InputLen = 0

BytesReceived() = buffer 'Transmitir datos a BYTE

For i = 0 To UBound(BytesReceived) 'Mostrar el resultado en hexadecimal

If Len(Hex (BytesReceived(i))) = 1 Entonces

HData = HData amp; "0" amp; Hex(BytesReceived(i))

Else

HData = HData & Hex(BytesReceived(i))

End If

txtReceive.Text = HData 'Finalmente envía el resultado a txtreceive

'Realizar procesamiento de datos

MSComm1.OutBufferCount = 0 'Borrar el búfer de envío

MSComm1.InBufferCount = 0 'Borrar el búfer de recepción

Siguiente

Finalizar selección

Fin del subtítulo