關于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 ''返回的低字節在前,高在后