我用两太机器做测试,一台机器使用“串口调试助手”发送16进制数据“A0 04 00 00 00 54 A1 00 00 00 00 6E”,无法正常接收。
下面是代码:
——————
Private Sub Command1_Click()
If Command1.Caption = "开始" Then
MSComm1.CommPort = 1
MSComm1.InBufferSize = 40
MSComm1.InputLen = 1
MSComm1.RThreshold = 1
MSComm1.InputMode = comInputModeBinary
MSComm1.PortOpen = True
Command1.Caption = "终止"
Label1.Caption = "" '用来显示
Else
MSComm1.PortOpen = False
Command1.Caption = "开始"
End If
End SubPrivate Sub MSComm1_OnComm()
Do While MSComm1.InBufferCount > 0
Dim buffer As Variant
Dim var() As Byte
buffer = MSComm1.Input
var = buffer
MSComm1.InBufferCount = 0
For i = 0 To MSComm1.InBufferCount
Dim tempVar
tempVar = Hex$(var(i))
If Len(tempVar) = 1 Then
tempVar = "0" & tempVar
End If
Label1.Caption = Label1.Caption & tempVar & " "
Next i
Loop
End Sub——————————如果能帖代码,请帖代码。
谢谢!
下面是代码:
——————
Private Sub Command1_Click()
If Command1.Caption = "开始" Then
MSComm1.CommPort = 1
MSComm1.InBufferSize = 40
MSComm1.InputLen = 1
MSComm1.RThreshold = 1
MSComm1.InputMode = comInputModeBinary
MSComm1.PortOpen = True
Command1.Caption = "终止"
Label1.Caption = "" '用来显示
Else
MSComm1.PortOpen = False
Command1.Caption = "开始"
End If
End SubPrivate Sub MSComm1_OnComm()
Do While MSComm1.InBufferCount > 0
Dim buffer As Variant
Dim var() As Byte
buffer = MSComm1.Input
var = buffer
MSComm1.InBufferCount = 0
For i = 0 To MSComm1.InBufferCount
Dim tempVar
tempVar = Hex$(var(i))
If Len(tempVar) = 1 Then
tempVar = "0" & tempVar
End If
Label1.Caption = Label1.Caption & tempVar & " "
Next i
Loop
End Sub——————————如果能帖代码,请帖代码。
谢谢!
解决方案 »
- 关于VB开发软件调用ADO时候使用ShowError报错
- 在VB6中,用shell语句调用IEXPLORE.EXE,假设用户的IEXPLORE.EXE万一不安装到我在程序里写的目录C:\Program Files\Internet Explorer\下
- 打算做套开源的ERP系统
- 求教修改一个自制小函数,请赐教!
- 急问,怎样删掉excel中的一列
- 怎么回事?
- 请教关于ADO中Record的中文文件名的问题
- 请大虾推荐几本VB方面的书籍。
- 怎样在代码中控制文本框中的光标的位置?真的很急!
- VB2010,datagridview中的第3列输入自动变成大写?
- 同样的一段程序,在两个模块中一个可以通过,另一个却通不过,不得解?
- 请教高手insert问题
For i = 0 To MSComm1.InBufferCount
------------------------------------------------
???????????????