关于VB的MSComm串口接收两次,Time事件 10分 
如下:(1)和(2)单独用按钮命令可以正常执行..用Timer1执行1和Timer2执行2,收回来的数据就很乱..把(1)(2)都写到Timer1下面下,收回来的数据也乱..是不是输入输出缓冲区两个混乱
 Private Sub Timer1_Timer() '时钟事件,间隔设定Interval毫秒就执行一次
 (1)DIM SENTDATA AS STRING,,Dim getdata 
 MSComm1.InBufferCount = 0 '清空接收缓冲区
 MSComm1.OutBufferCount = 0 '清空发送缓冲区
 MSComm1.Output = 读取数据指令
 Do
 DoEvents
 Loop Until MSComm1.InBufferCount >= 20 'PLC应该返回8个字符 固定的4+2*N
 '一个起始符+一个寄存器(有两个字节)(每个字节=2字符)+一个结束符+两个校验和
 getdata = MSComm1.Input
 Text1.Text = getdata ''返回的低字节在前,高在后
 (2)Dim sendat As String,,Dim getdat
 MSComm1.InBufferCount = 0
 MSComm1.OutBufferCount = 0
 MSComm1.Output =读取数据指令
 Do
 DoEvents
 Loop Until MSComm1.InBufferCount >= 8 
 getdat = MSComm1.Input
 Text4.Text = getdat ''返回的低字节在前,高在后