VB 接收延迟严重 怎么办,重赏

来源:百度知道 编辑:UC知道 时间:2024/06/07 02:06:01
我做了个VB 串口接收数据,然后画图的程序,每秒的数据速率是400bytes/S左右,数据是一组一组的发过来的,VB只做接收,每组数据是13字节。没收到一组就开始画图。每组数据包含有画图所要的所有参数。但发现数据有延迟的现象,并且比较严重,开始延迟小,久了就很严重,要十几秒,才能反应到数据的变化,应该怎么办?速率是9600,n,8,1

下面是我的代码:
设置:

With MSComm1
.InputMode = comInputModeBinary
.InputLen = 1
.Settings = Text2.Text
.InBufferSize = 1000
.RThreshold = 13
.SThreshold = 1
.CommPort = Val(Text1.Text)
.PortOpen = True
End With

接收部分:
Dim datas0 As Byte, space As Long, angle As Integer
Static datas1, c, t, tt As Byte
Static datas2, datas3, datas4 As Byte
Dim Buffer As Variant

If MSComm1.CommEvent = 2 Then
'MSComm1.InputLen = 1
Buffer = MSComm1.Input

For i = LBound(Buffer) To UBound(Buffer)
datas0 = Buffer(i)
Next i

If datas0 = 255 Then
t = t + 1
Else
If t < 4 Then t = 0
End If

If t >= 4 Then '判断是否为有用数据
c = c + 1 <

http://topic.csdn.net/u/20090420/22/b12d8427-2f51-4fc4-b4f0-29d48b511727.html
http://topic.csdn.net/u/20090418/16/1f0953f8-214b-42ee-a3f8-bd8a91676ad9.html
http://topic.csdn.net/u/20090417/16/81390c4d-a691-403d-98a5-505b3e6c734e.html
LZ:上述链接与你的问题相同,建议你拓展思路,不要死脑筋.
具有一个好的通信协议是做好串口通信的关键.况且你在串口接收数据后,又要操作网络发送数据.第一步串口通信做好是关键.

没做过,不清楚。但是我想是不要从缓存的方面来考虑啊!?

和csdn应该是同一个人发的吧。csdn已经说的非常清楚了。