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

MSComm Input取值有关问题

2012-02-04 
MSComm Input取值问题Public Buffer As VariantBufferMSComm.Input若值为ATM 111在调试状态下Buffer值为A

MSComm Input取值问题
Public Buffer As Variant
Buffer=MSComm.Input
若值为ATM 111
在调试状态下Buffer值为ATM 111
断点拿掉输出Buffer的值第一次为A第2次为TM 111


在网上查找资料 Input是字节取值 我在程序里用了timer控件 会不会是这个原因捏。 如果是该怎么解决捏。

求大神相助。。。

[解决办法]
http://download.csdn.net/source/1262066
[解决办法]
RThreshold=7
试试
[解决办法]
这和你的inputLen有关系
你的inputlen很可能是:0

inputlen用来定义input命令每次读取inbuffercount中的参数的个数,为:0代表一次全部读取缓冲区的数据。
你的情况应该是,第一次input时,缓冲区中正好只有A,第二次input时,TM 111都送达缓冲区了。

建议楼主发送读命令后,延迟片刻(比如30ms)在执行input,这样确保下位即数据完全返回到串口接收缓冲区中。

大致如下:

VB code
mscP.output="读命令"lngP=Gettickcountdo   DoEventsloop until gettickcount-lngP>=30strRead=mscP.input 

热点排行