在VB中用MSComm控件通信怎样实现多个十六进制数据的发送和就收

2025-01-04 12:26:43
推荐回答(2个)
回答1:

这个控件只能发进二进制数据或文本数据,你可将十六进制当文本发送,但在单片机上不知道能不
能行得通
给一个二进制发送的
可将十六进制转换为二进制
on error goto Clcw
dim buffer as Variant '发送
dim instr as string '接收
buffer="12345"
MSComm1.commport=1 '设置端口号为1
MSComm1.Settings="9600,N,8,1" '设置端口参数
MSComm1.PortOpen=True '打开端口
MSComm1.Output=buffer '将数据发送到端口
MSComm1.inputLen=0 '检查数据
If MSComm1.InBufferCount then 如果数据不为空就执行下面的语句
instr=MSComm1.input '读取数据
end if
Clcw:
'处理错误
if err.numer<>0 then msgbox err.dec

回答2:

MSComm1.InputLen = 16

发送w
dim W(6) as byte
w(0)=&H24
w(1)=&H04
.......
w(5)=&H2A
w(6)=vbcr
MSComm1.Output = W

接收显示到text1
dim W(29) as byte,i as integer
W=MSComm1.input
for i=0 to 29
text1.text=W(i) & text1.text
next