vb发送16进制串口信息问题

MSComm1.Output=chr(&HA5)+chr(&H01)+chr(&H01)+chr(&HA7)+chr(&H5A)我想发送这样一串。也就是发送"A50101... MSComm1.Output = chr(&HA5)+chr(&H01)+chr(&H01)+chr(&HA7)+chr(&H5A)
我想发送这样一串。也就是发送"A5 01 01 a7 5A"
但是一打出来就变成这样
MSComm1.Output = Chr(&HA5) + Chr(&H1) + Chr(&H1) + Chr(&HA7) + Chr(&H5A)

发送的01,1前面不能加0,加上之后又自动去掉了
发送01才能成功,现在是1。发送过后没反应
应该怎么办?
展开
 我来答
浪花飘零2000
2013-01-09 · TA获得超过630个赞
知道小有建树答主
回答量:579
采纳率:0%
帮助的人:533万
展开全部
如果是固定是你上面提问中的数据的话,可以这样写
MSComm1.Output = Chr(&HA5) + "0"+Chr(&H1) + "0"+Chr(&H1) + Chr(&HA7) + Chr(&H5A)
如果是任意的数据的话,可以这样写(还是以此例的数据)
MSComm1.Output = Chr(&HA5) + right("0"+Chr(&H1),2) + right("0"+Chr(&H1) ,2)+ Chr(&HA7) + Chr(&H5A)

满意请及时采纳,谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-01-09
展开全部
定义 byte 数组,如 dim dout(5) as byte
dout(0)=&ha5
dout(1)=&h01
dout(2)=&h01
dout(3)=&ha7
dout(4)=&h5a

MSComm1.Output=dout

就可以了

推荐看书
Visual_Basic与_RS-232_串行通信控制
追问
dout(1)=&h01
dout(2)=&h01

输入这两条的时候,1前面的0又被自动去掉了。。
什么情况
追答
正常

十六进制 &h01=&h1

一回事
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式