Public Buffer As Variant
Buffer=MSComm.Input
若值为ATM 111
在调试状态下Buffer值为ATM 111
断点拿掉输出Buffer的值第一次为A第2次为TM 111
在网上查找资料 Input是字节取值 我在程序里用了timer控件 会不会是这个原因捏。 如果是该怎么解决捏。求大神相助
Buffer=MSComm.Input
若值为ATM 111
在调试状态下Buffer值为ATM 111
断点拿掉输出Buffer的值第一次为A第2次为TM 111
在网上查找资料 Input是字节取值 我在程序里用了timer控件 会不会是这个原因捏。 如果是该怎么解决捏。求大神相助
你的inputlen很可能是:0inputlen用来定义input命令每次读取inbuffercount中的参数的个数,为:0代表一次全部读取缓冲区的数据。
你的情况应该是,第一次input时,缓冲区中正好只有A,第二次input时,TM 111都送达缓冲区了。建议楼主发送读命令后,延迟片刻(比如30ms)在执行input,这样确保下位即数据完全返回到串口接收缓冲区中。大致如下:mscP.output="读命令"
lngP=Gettickcount
do
DoEvents
loop until gettickcount-lngP>=30
strRead=mscP.input