Dim inbuff() As Byte
Dim x As Integer
Private Sub Form_Load() 'MSComm1初始化 MSComm1.CommPort = 5
MSComm1.Settings = "1200,e,8,1" MSComm1.InBufferSize = 1024 MSComm1.InputMode = comInputModeBinary MSComm1.RThreshold = 1 MSComm1.PortOpen = True
MSComm1.OutBufferCount = 0 '清除发送缓冲区
MSComm1.InBufferCount = 0 '清除接收缓冲区
End Sub
Private Sub MSComm1_OnComm()
Dim strHex As String Select Case MSComm1.CommEvent
Case 2
MSComm1.InputLen = 0
inbuff = MSComm1.Input
'x = x + 1
'Print x
jeishou
End SelectEnd SubPrivate Sub ComCvot_Click()
Dim OutBuffer() As Byte
Dim tem As Variant
Dim e As Integer
Dim q As Integer
Dim LenOfText As Integer
Dim Bvot As String
Dim ShuruText As String
Bvot = "6858000000000068010246e95a16"
ShuruText = Bvot
LenOfText = Len(ShuruText) \ 2 - 1
ReDim OutBuffer(LenOfText)
q = 0
For e = 1 To Len(ShuruText) Step 2
tem = Mid(ShuruText, e, 2)
OutBuffer(q) = Val("&H" & tem)
q = q + 1
Next
MSComm1.Output = OutBuffer
End SubPublic Sub jeishou()
'For i = 0 To UBound(inbuff) strHex = strHex & Right("0" & Hex(inbuff(i)), 2) & " "
Text1 = Text1 + strHex
' Next i
End Sub我发送以后,接受的数据为 68 58 00 00 00 00 00 68 81 04 46 E9 33 33 42 16 如何把这一串字符中第8个字符和第九个字符提取出来单独显示到另外两个文本框中去呢?
For i = 0 To UBound(inbuff)
strHex = strHex & Right("0" & Hex(inbuff(i)), 2) & " "
Next i
Text1 = Val("&H" & Mid(strHex, 15, 2))
Text2 = Val("&H" & Mid(strHex, 17, 2))
End Sub
For i = 0 To UBound(inbuff)
strHex = strHex & Right("0" & Hex(inbuff(i)), 2)
Next i
Text1 = Val("&H" & Mid(strHex, 15, 2))
Text2 = Val("&H" & Mid(strHex, 17, 2))
End Sub
Dim inbuff() As Byte
Dim x As Integer
Private Sub Form_Load() 'MSComm1初始化 MSComm1.CommPort = 5
MSComm1.Settings = "1200,e,8,1" MSComm1.InBufferSize = 1024 MSComm1.InputMode = comInputModeBinary MSComm1.RThreshold = 1 MSComm1.PortOpen = True
MSComm1.OutBufferCount = 0
'清除发送缓冲区
MSComm1.InBufferCount = 0
'清除接收缓冲区
MSComm1.InputLen = 1
End Sub
Private Sub MSComm1_OnComm()
Dim strHex As String
Dim hx As Variant
ss:
Select Case MSComm1.CommEvent
Case 2
hx = MSComm1.Input
Text1.Text = Text1.Text & hx(0)
'x = x + 1
'Print x
If MSComm1.InBufferCount <> 0 Then
GoTo ss
End If
jeishou
End SelectEnd SubPrivate Sub ComCvot_Click()
Dim OutBuffer() As Byte
Dim tem As Variant
Dim e As Integer
Dim q As Integer
Dim LenOfText As Integer
Dim Bvot As String
Dim ShuruText As String
Bvot = "6858000000000068010246e95a16"
ShuruText = Bvot
LenOfText = Len(ShuruText) \ 2 - 1
ReDim OutBuffer(LenOfText)
q = 0
For e = 1 To Len(ShuruText) Step 2
tem = Mid(ShuruText, e, 2)
OutBuffer(q) = Val("&H" & tem)
q = q + 1
Next
MSComm1.Output = OutBuffer
End SubPublic Sub jeishou()
For i = 0 To UBound(inbuff)
strHex = strHex & Right("0" & Hex(inbuff(i)), 2)
Next i
Text1 = Val("&H" & Mid(strHex, 15, 2))
Text2 = Val("&H" & Mid(strHex, 17, 2))
End Sub
Dim strHex As String
Sleep 30
Select Case MSComm1.CommEvent
Case 2
MSComm1.InputLen = 0
inbuff = MSComm1.Input
'x = x + 1
'Print x
jeishou
End SelectEnd Sub