VB串口发送大数据量问题
最近需要用VB的串口需要传送800x480的数据,数据发送格式为AA 06 00 00 00 11 11 11 55,其中三个00为地址位,三个11为数据,采用for循环来发送,波特率为115200,8位。在发送的过程中会出现数据丢失的情况,如:AA 07 12 00 12 45 34 63 AD 55
AA 07 12 0012 46 87 08 AB 55
AA 07 12 00 13 48 90 89 12 55
正常应该是:
AA 07 12 00 12 45 34 63 AD 55
AA 07 12 0012 46 87 08 AB 55
AA 07 12 00 12 47 90 89 12 55
缓冲器设置为20K,延迟时间也很长,具体的代码如下:
For j = 1 To bmpSendCnt Step 1
If Bmplen(2) < 255 Then
Bmplen(2) = Bmplen(2) + 1
Else
Bmplen(2) = 0
If Bmplen(1) < 255 Then
Bmplen(1) = Bmplen(1) + 1
Else
Bmplen(1) = 0
If Bmplen(0) < 255 Then
Bmplen(0) = Bmplen(0) + 1
Else
Bmplen(0) = 0
End If
End If
End If
bmpSendadr(0) = Bmplen(0)
bmpSendadr(1) = Bmplen(1)
bmpSendadr(2) = Bmplen(2)
bmpSendData(0) = BmpData(BmpDataOffset + k) 'R
k = k + 1
bmpSendData(1) = BmpData(BmpDataOffset + k) 'G
k = k + 1
bmpSendData(2) = BmpData(BmpDataOffset + k) 'B
k = k + 1
specByte(0) = &HAA
specByte(1) = &H7
specByte(2) = &H12
specByte(3) = bmpSendadr(0)
specByte(4) = bmpSendadr(1)
specByte(5) = bmpSendadr(2)
specByte(6) = bmpSendData(2)
specByte(7) = bmpSendData(1)
specByte(8) = bmpSendData(0)
specByte(9) = &H55
sendRtn = WriteFile(hComm, specByte(0), 10, byteSendNum, ov_Write)
For TimeOutCnt1 = 0 To 150000
Next TimeOutCnt1
Next j
请各位大侠帮帮鉴定一下,提一下意见,谢谢哈~~ --------------------编程问答-------------------- 用该是等待的时间太短
用 Thread.Sleep()
你这是VB6吧 --------------------编程问答-------------------- 怎么一个一个发?组成一个串一起发送试试.
补充:.NET技术 , VB.NET