在VB中用MSComm控件通信怎样实现多个十六进制数据的发送和就收 15
在VB中用MSComm控件通信,发送一组十六进制数据:&H24&H04&H52&H00&H56&H2A作为查询指令,单片机收到此指令后,就会发回30个十六进制数据,如何编...
在VB中用MSComm控件通信,发送一组十六进制数据:&H24 &H04 &H52 &H00 &H56 &H2A 作为查询指令,单片机收到此指令后,就会发回30个十六进制数据,如何编写程序实现数据的接收并显示在VB界面中的Text中
展开
展开全部
这个控件只能发进二进制数据或文本数据,你可将十六进制当文本发送,但在单片机上不知道能不
能行得通
给一个二进制发送的
可将十六进制转换为二进制
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
能行得通
给一个二进制发送的
可将十六进制转换为二进制
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
发送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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询