1,451
社区成员
发帖
与我相关
我的任务
分享
Private Sub Form_Load()
Dim port As Integer
port = 1
With MSComm1
.CommPort = port '使用COM1端口
.Settings = "1200,O,7,1"
.InputMode = comInputModeBinary '采用二进制传输
.RThreshold = 1 '产生MSComm事件
.InBufferCount = 0 '清空接受缓冲区
.OutBufferCount = 0 '清空传输缓冲区
.InBufferSize = 1024
.PortOpen = True
End With
If Err Then '错误处理
MsgBox "串口通信无效"
End If
Text1 = ""
End Sub
Private Sub MSComm1_OnComm()
Dim Buffer As Variant
Dim Hexbuffer() As Byte
Select Case MSComm1.CommEvent
Case comEvReceive
'告诉控件读入整个缓冲区
MSComm1.InputLen = 0
MSComm1.InputMode = comInputModeBinary
Buffer = MSComm1.Input
Hexbuffer() = Buffer
Dim I As Integer
For I = 0 To UBound(Hexbuffer)
If Hex(Hexbuffer(I)) = 1 Then
Text1.Text = Text1.Text & "0" & Hex(Hexbuffer(I))
Else
Text1.Text = Text1.Text & Hex(Hexbuffer(I))
End If
Next I
End Select
End Sub
Private Sub MSComm1_OnComm()
Dim Buffer As Variant
Dim Hexbuffer() As Byte
Select Case MSComm1.CommEvent
Case comEvReceive
'告诉控件读入整个缓冲区
MSComm1.InputLen = 0
MSComm1.InputMode = comInputModeBinary
Buffer = MSComm1.Input
Hexbuffer() = Buffer
Dim I as Integer
For I=0 To Ubound(HexBuffer)
If hex(hexbuffer) = 1 Then
Text1.Text = Text1.Text & "0" & Hex(Hexbuffer(I))
Else
Text1.Text = Text1.Text & Hex(Hexbuffer(I))
End If
Next I
End Select
End Sub