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,这样确保下位即数据完全返回到串口接收缓冲区中。
大致如下:
mscP.output="读命令"lngP=Gettickcountdo DoEventsloop until gettickcount-lngP>=30strRead=mscP.input