求代码 VB串口16进制程序

来源:百度知道 编辑:UC知道 时间:2024/05/08 08:09:42
我购买了一个检测设备,按照说明使用串口调试工具和他通讯,波特率9600,8位数据,2位停止。发送81 81 52 00 00 00 53 00,就会返回00 00 00 00 00 00 28 03 53 00。但是要求在串口调试工具上勾上HEX发送和接受。请问我现在想自己用VB通讯,怎么实现HEX发送和接受呢???求这部分代码,谢谢

Private Sub Form_Load()
MSComm1.Settings = "9600,N,8,1" '设置通信口参数
MSComm1.InBufferSize = 40 '设置MSComm1接收缓冲区为40字节
MSComm1.OutBufferSize = 2 '设置MSComm1发送缓冲区为2字节
MSComm1.InputMode = comInputModeBinary '设置接收数据模式为二进制形式
MSComm1.InBufferCount = 0 '清除接收缓冲区
MSComm1.OutBufferCount = 0 '清除发送缓冲区
'MSComm1.RThreshold = 1 '设置接收一个字节产生OnComm事件
MSComm1.CommPort = 5
MSComm1.PortOpen = True '打开通信口
End Sub
Private Sub Command2_Click()
Dim data() As Byte '串口发送字节
ReDim data(7)
data(0) = &H81
data(1) = &H81
data(2) = &H52
data(3) = &H00
data(4) = &H00
data(5) = &H00
data(6) = &H53
data(7) = &H00
MSComm1.Output = data
接收有几种办法:1.延时接收
Timer1.Enabled = True
t1_c0:
If t1_flag0 = True Then GoTo t1_c1
DoEvents
GoTo t1_c0
t1_c1:
t1_flag0 = False
Dim Bintput() As Byte
Dim Binputa As Variant