VB 串口接收数据字节数多了一倍

我用VB串口控制下位机发送数据,如果直接用发送命令Mscomm1.output=Byte(n)的话,我发现在OnCommon事件中rcvtemp()=Mscommon.i... 我用VB串口控制下位机发送数据,如果直接用发送命令
Mscomm1.output=Byte(n)的话,我发现在OnCommon事件中
rcvtemp()=Mscommon.input后,接收到的字节多了一倍,在每一个有效数据字节后面都跟着一个字节的0。
但是我发送之后等待接接收,就能正常接收到数据,程序如下
savetime=timegettime
while timegettime>savetime+1000
Mscomm1.output=Byte(n)
do events
loop
我用串口调试助手的话也不会出现多字节的问题
请问为什么会出现字那么多数据为0的字节,在接收的过程中出了什么问题
展开
 我来答
enochwills
2009-11-05 · TA获得超过4793个赞
知道大有可为答主
回答量:2031
采纳率:96%
帮助的人:1639万
展开全部
MSDN上说MSCOMM有一个关于chr(0)的固有缺陷

解决方法是把接收缓冲inputlen=1,1次接受1个字节试试

另外,尽量不要用MSCOMM发送chr(0),这个0会把自己又带回来的(MSDN原文)
萍水e相逢
2009-11-05 · TA获得超过3万个赞
知道大有可为答主
回答量:5.9万
采纳率:46%
帮助的人:1.4亿
展开全部
感觉 还是 VB 程序问题

看 msdn 吧

有VB 串口 的 入门书籍
Visual_Basic与_RS-232_串行通信控制

网络上有 pdf 文档,找不到,可以 联系!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式