VB 6.0 MSCOMM串口通讯的问题
麻烦高手帮我解答一下如何连接:
使用RS232口连接,电脑的RS232口与下位机的RS232口谅解方式:
2-3
3-2
交叉连接
各自口的
4-6
7-8
短接
你发送须按BYTE数组执行,代码如下供参考:
根据你发的协议询问命令有修改
Option Explicit
Dim strData As String
Private Sub Command1_Click() '采用二进制发送
Dim strSj(3) As Byte
strSj(0) = &H1
strSj(1) = &H2
strSj(2) = &H2
strSj(3) = 256 -(strSj(1) + strSj(2)) Mod 256
MSComm1.Output = strSj
End Sub
Private Sub Form_Load()
MSComm1.Settings = "9600,n,8,1" '暂定无校验,数据位8位,停止位1位
MSComm1.InputMode = comInputModeBinary '采用二进制传输
MSComm1.InBufferCount = 0 '清空接受缓冲区
MSComm1.OutBufferCount = 0 '清空传输缓冲区
MSComm1.RThreshold = 1 '产生MSComm事件
MSComm1.InBufferSize = 1024
MSComm1.PortOpen = True
End Sub
Private Sub MSComm1_OnComm() '接收数据
Dim BytReceived() As Byte
Dim strBuff As String
Select Case MSComm1.CommEvent
Case 2
MSComm1.InputLen = 0
strBuff = MSComm1.Input
BytReceived() = strBuff
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
Text1 = strData
'按通信协议写接收数据处理代码
End Select
End Sub
问题补充:请发消息给我。