VB串口程序接收字符数据时数据不全!!

VB串口程序接收字符数据时数据不全,而用其他串口调试软件却没有一个字符落下的,不知道缺少什么?关键源程序如下:
Main_MSComm.CommPort = 1 '端口选择

If Main_MSComm.PortOpen = False Then
Main_MSComm.PortOpen = True
'打开串口
End If

'----------设置端口----------
Main_MSComm.Settings = "9600,N,8,1"
'波特率2400bps, 无校验,8位数据,1位停止位
Main_MSComm.InputLen = 0
'设置InputLen为0,使MSComm控件读取接收缓冲区中全部数据
Main_MSComm.InputMode = comInputModeText ' comInputModeBinary
'数据格式--二进制
Main_MSComm.SThreshold = 0
'关闭【发送】事件
Main_MSComm.RThreshold = 1
'开启【接收】事件
Main_MSComm.InBufferCount = 0
'清除发送缓冲区数据
Main_MSComm.OutBufferCount = 0
'清除接收缓冲区数据

,--------------------------------

Private Sub Main_MSComm_OnComm()
Dim Buffer As Variant
Select Case Main_MSComm.CommEvent
Case comEvReceive
Main_MSComm.InputMode = comInputModeText
Buffer = Main_MSComm.Input
InfoText.Text = InfoText.Text & Buffer '& Chr(13) & Chr(10)
InfoText.SelLength = Len(InfoText.Text)
Main_MSComm.InBufferCount = 0

Case Else
Exit Sub
End Select

End Sub

‘-------------------------
本来应该接收到得数据如 CONNECT
实际接收到却是CNNCT,或是其他,用其他串口调试软件速度再快都没问题,肯定是程序编写问题,请高手帮忙,谢谢!

别把 简单问题 复杂化!
是 试试 这个
Private Sub Main_MSComm_OnComm()
Dim Buffer As Variant
Select Case Main_MSComm.CommEvent
Case comEvReceive
'Main_MSComm.InputMode = comInputModeText 注释掉
Buffer = Main_MSComm.Input
InfoText.Text = InfoText.Text & Buffer '& Chr(13) & Chr(10)
InfoText.SelLength = Len(InfoText.Text)
'Main_MSComm.InBufferCount = 0 注释掉

Case Else
Exit Sub
End Select

End Sub

注释掉 的 都是 在 设置 过程 的 语句,接收时 怎么 有 来 设置?

简单问题 复杂化了
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-12-25
我也想学习一下
第2个回答  2009-12-25
设置一下接收延时 设个500ms应该可以了本回答被提问者采纳