首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb如何接收长度不同的两帧数据

2013-09-08 
vb怎么接收长度不同的两帧数据是这样的,上位机给下位机发送一个读取命令,下位机接收读取命令后,给上位机发

vb怎么接收长度不同的两帧数据
是这样的,上位机给下位机发送一个读取命令,下位机接收读取命令后,给上位机发送确认命令:81H 00H 06H 4BH 4DH 然后再向上位机发送一帧数据 。这两帧数据的数据长度不一样,长度是固定的,怎么分别用两个数组接收这两帧数据啊 
[解决办法]
设置mscomm控件里的RThreshold值,当达到指定的字节数的时候会触发comm事件,还有就是等超时,多长时间没数据收到就把缓冲区里的数据收到了,看下长度,然后自已去分成两段,反正长度固定的,好分.
[解决办法]
参阅这个
[解决办法]
比如20个字节,你就写 RThreshold=20
丢字节不管哪种方法,只要出现了都要处理的,你的字符串是定长的,数下收到数据的长度你就知道丢没丢了,你不发数据的话收完这两包数据应该再也不会收到新数据了,如果可行的话,数据包最好就是加个校验
[解决办法]

引用:
是这样的,上位机给下位机发送一个读取命令,下位机接收读取命令后,给上位机发送确认命令:81H 00H 06H 4BH 4DH 然后再向上位机发送一帧数据 。这两帧数据的数据长度不一样,长度是固定的,怎么分别用两个数组接收这两帧数据啊 


最简单的是在发送请求,然后等待一定时间,读取接收数据,分析数据

mscomm1.output="请求"
sleep 200 '200为下位机接收数据后,送回两组数据可能的最大延时值
v=mscomm1.input
'分析数据

热点排行