Private Sub hexReceive()
On Error GoTo Err
Dim ReceiveArr() As Byte ' 接收数据数组
Dim receiveData As String ' 数据暂存
Dim Counter As Integer ' 接收数据个数计数器
Dim i As Integer ' 循环变量
If (MSComm.InBufferCount > 0) Then
Counter = MSComm.InBufferCount ' 读取接收数据个数
Print receiveData
receiveData = "" ' 清缓冲
ReceiveArr = MSComm.Input ' 数据放入数组
For i = 0 To (Counter - 1) Step 1 ' 数据格式处理 If (ReceiveArr(i) < 16) Then
receiveData = receiveData & "0" + Hex(ReceiveArr(i)) ' 小于16,前面加0
Else
receiveData = receiveData & Hex(ReceiveArr(i)) ' 加空格显示
End If Next i
End If
Call xianshi(Mid(receiveData, 13, 8))
Err:End Sub
为什么 我第2次 接收的总会是上一次 接受到的呢?
是 我的缓冲取 没有清除? 但是我每次 发送 的时候都清楚了的啊
Private Sub hexSend()On Error Resume Next
Dim outputLen As Integer ' 发送数据长度
Dim outData As String ' 发送数据暂存
Dim SendArr() As Byte ' 发送数组
Dim TemporarySave As String ' 数据暂存
Dim dataCount As Integer ' 数据个数计数
Dim i As Integer ' 局部变量
MSComm.OutBufferCount = 0
MSComm.InBufferCount = 0
http://download.csdn.net/detail/veron_04/1262066