程序如下:
Private Sub Form_Load()
 MSComm1.CommPort = 4              '设置通信端口号为COM4
 MSComm1.InBufferCount = 0
 MSComm1.OutBufferCount = 0
 MSComm1.Settings = "9600,n,8,1"       '设置串口参数
 MSComm1.InputMode = 0             '接收文本型数据
 MSComm1.RThreshold = 1 '接收缓冲区每收到一个字符都会使 MSComm 控件触发OnComm 事件
 MSComm1.InputLen = 0
 MSComm1.InBufferSize = 5120
 MSComm1.OutBufferSize = 512
 End Sub
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
      Case comEvReceive   ' 收到 RThreshold # of
   Dim buffer As String
    buffer = MSComm1.Input
     numR = numR + 1
    RXT.Text = numR   '   numR用于计数接收到的字节数,并在text显示
    End Select
    receivedata.Text = receivedata.Text + buffer
   End Sub
问题是:用串口调试助手接收数据无论发送的是多少个都是正确的,计数也对,但是用自己编的vb上位机,在达到1000多个数据时会发生数据的丢失,比如发送5位数00009,接收到的会是0009,计数少了一位,显示出来接收的数也是少了一位,因此导致结果不正确,不知道是什么原因?按理说应该是自己编的软件的问题,可是找了很多资料,均未找到结果,程序就是上面那样的,我就更迷惑了?