[求助]高手们帮帮忙,有关VB串口通信的问题!
我正在用VB写一个上位机的监控程序,与51通信,但老是不能正常接收数据,不知道什么原因。请高手们看看,帮帮我!
我的MSCOMM设置如下:
Private Sub Form_Load()
With MSComm1
If .PortOpen = True Then
.PortOpen = False
End If
.CommPort = 1 '使用COM1
.Settings = " 9600,n,8,1 " '设置通信口参数
.InBufferSize = 1024 '设置MSComm1接收缓冲区为1024字节
.OutBufferSize = 1024 '设置MSComm1发送缓冲区为1024字节
.InputMode = comInputModeText '设置接收数据模式为文本形式
.InputLen = 0 '一次读出接收缓冲区中的所有数据
.InBufferCount = 0 '清除接收缓冲区
.OutBufferCount = 0 '清除发送缓冲区
.RThreshold = 1 '设置接收一个字节产生OnComm事件
.PortOpen = True
.RTSEnable = True
End With
End Sub
----------------------------------------
接收程序如下:
Private Sub MSComm1_OnComm()
Text2.Text = ""
Select Case MSComm1.CommEvent
Case comEvReceive
ReceByte = ReceByte & MSComm1.Input
Text2.Text = ReceByte
End Select
End Sub
我现在能给51发送控制指令,然后51给PC发回应数据,有130多个字符,可是不知道怎么回事,老是只接收了一部分数据,丢了20个字符,如果我用串口调试工具就可以完全接收,好奇怪啊,问题到底出在那里啊?高手帮帮我,我很急啊!
发表时间:2003年8月30日11:51:38