超碰成人av-青青草97-天天做天天躁天天躁-久久精品国产亚洲一区二区-亚洲天堂狠狠干-在线观看欧美精品-国产精品美女一区二区视频-国产成人欧美日韩在线电影-一级片免费看视频-免费国产视频在线观看-伊人网久久久-无码人妻丰满熟妇啪啪网不卡-精品欧美乱码久久久久久-国产真实夫妇视频-中文久草

8255842
級別: 探索解密
精華主題: 0
發帖數量: 3 個
工控威望: 122 點
下載積分: 497 分
在線時間: 19(小時)
注冊時間: 2013-01-20
最后登錄: 2024-04-29
查看8255842的 主題 / 回貼
樓主  發表于: 2013-04-10 20:51
關于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 ''返回的低字節在前,高在后
manjialin
專業工業控制軟件開發!
級別: 略有小成
精華主題: 0
發帖數量: 144 個
工控威望: 334 點
下載積分: 718 分
在線時間: 111(小時)
注冊時間: 2008-11-28
最后登錄: 2025-10-16
查看manjialin的 主題 / 回貼
1樓  發表于: 2013-04-14 22:38
直接把X轉成M然后讀,不就可以解決了么?