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,或是其他,用其他串口调试软件速度再快都没问题,肯定是程序编写问题,请高手帮忙,谢谢!