Private Sub Command3_Click()
Dim a() As Byte
ReDim a(3)
a(0) = &HA1
a(1) = &HA1
a(2) = &HA2
a(3) = &HA3
MSComm1.Output = a '模擬發送數據
End Sub
Private Sub Form_Load()
MSComm1.CommPort = 1 '設置串口為com1
MSComm1.Settings = "9600,n,8,1" '通訊參數 波特率 奇偶校驗 數據位 停止位
MSComm1.InputMode = comInputModeBinary '二進制接收
MSComm1.PortOpen = True '打開串口
MSComm1.InBufferCount = 0 '清空接收緩沖區
MSComm1.RThreshold = 1 '緩沖區中接收到壹個字符,就產生壹次OnComm事件
End Sub
'接收上位機發送的數據
Private Sub MSComm1_OnComm()
Dim indata As Variant '定義變量
Dim arr() As Byte '定義字節數組
Dim i As Integer
Select Case MSComm1.CommEvent
Case comEvReceive '有接收事件
indata = MSComm1.Input '接收到的數據存放到indata裏
arr = indata '返回indata的值
For i = 0 To UBound(arr)
If Len(Hex(arr(i))) = 1 Then
Text2.Text = Text2.Text & "0" & Hex(arr(i)) '在text2中顯示數據
Else
Text2.Text = Text2.Text & Hex(arr(i)) '在text2中顯示數據
End If
Next
MSComm1.InBufferCount = 0 ' 清空接收緩沖區
End Select
End Sub