请看代码如下(完全接收情况):    For i = 0 To 1000
        DoEvents
    Next    Select Case comSerial.CommEvent
        Case comEvReceive:
            RxdBuff = comSerial.Input        ......
    End Select注意:如果删掉
    For i = 0 To 1000
        DoEvents
    Next
那RxdBuff总是只能接收到前几个字符,而不是20多个字符全部。怎么回事,不会这么20多个字符就需要延时了吧。

解决方案 »

  1.   

    设置MSComm1.RThreshold = 20后,就会在收到很20个字符后产生ONCOMM事件,在事件里接收数据就好了!
      

  2.   

    MSComm有一个Setting属性,是用来设置串口的基本属性的,看msdn中这个属性就知道了,不过串口传输率必须和你的外部设备相匹配
      

  3.   

    在发送的字符串后加上vbcr,然后在接收时判断是否收到vbcr,如果收到就是全部接收完毕。
      

  4.   

    DelayTime= int( DataSize / (BaudRate / 10) * 1000 );