求助VB如何读计算机串口数据

如题所述

VB6.0MsComm控件可以利用OnComm事件连续获取来自外设发送的信号。
基于:
1)MsComm控件的RThreshold 属性不为0和恰当的接收代码。
2)使用电脑主板物理COM口或PCI多串口卡上的COM口COM,这样的COM口是全双工的,发送与接收不会冲突。
3)高质量的接收代码和符合通信协议和数据帧规约的接收处理代码。
实例代码:

Private Sub Form_Load() MSComm1.InputMode = comInputModeBinary '采用二进制传输 MSComm1.InBufferCount = 0 '清空接受缓冲区 MSComm1.OutBufferCount = 0 '清空传输缓冲区 MSComm1.RThreshold = 1 '产生MSComm事件 MSComm1.InBufferSize = 1024 TxtSend = "" TxtSend = "" txtReceive = "" Text2 = ""End Sub Private Sub MSComm1_OnComm() '接收数据 Dim strBuff As String Select Case MSComm1.CommEvent Case 2 MSComm1.InputLen = 0 strBuff = MSComm1.Input BytReceived() = strBuff jieshou lenInput = Len(strData) Text2 = lenInput \ 2 '数据处理代码 End SelectEnd Sub Public Function jieshou() '接收数据处理为16进制 Dim i As Integer For i = 0 To UBound(BytReceived) If Len(Hex(BytReceived(i))) = 1 Then strData = strData & "0" & Hex(BytReceived(i)) Else strData = strData & Hex(BytReceived(i)) End If Next txtReceive = strDataEnd Function
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答