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

mscommon控件有关问题 再次提问

2012-02-09 
mscommon控件问题再次提问bytIn AxMSComm1.Inputoncommon事件每次处理8个字节超过8个字节就触发两次onco

mscommon控件问题 再次提问
bytIn = AxMSComm1.Input
oncommon事件每次处理8个字节 超过8个字节 就触发两次oncommon ,这个bytInput()数组 每次8个 我传10个数上来 他分两次放入 那我怎么判断起始位终止位 从而获得数据啊?


我设置了RThreshold = 10 但是会发生丢帧

[解决办法]
你把INPUTLEN属性也设置为1,这样每次INPUT的时候你就知道自己要的是第几位了啊,就可以判断了,用一个变量进行引用加减判断啊
[解决办法]

探讨
我接收成功了 RThreshold设的10 我就把波特率从1200调到9600 接收就不丢数据了
还一种方法是波特率不变 在BytReceived() = strBuff之前 sleep400 也不会丢数据
有哪个大大能给我讲讲mscommon的工作细节 为什么会出现这种情况??????

[解决办法]
不是波特率高容易丢数,是接受和发送不同步引起的丢数,和波特率本身无关。lz加入延时后不丢数是因为发送间隔长。
波特率设定多少?最好接受器和发送器一样。一般设Rthreshold =1,至于接受到的字符串如何处理那是字符串处理问题,不如lz只要那几个数字,只要逐个字符判断是否是数字即可。
[解决办法]
LZ:串口通信的波特率必须上下位机保持一致,如果不一致将无法正确通信.

热点排行