用VB写MODBUS通讯程序定时读功能1,2,3的有关问题

用VB写MODBUS通讯程序定时读功能1,2,3的问题
我用VB写MODBUS通讯程序定时读功能1,2,3的时读不上来,要么读上来的数据不正确,我读其中一个功能就没有什么问题,我在Private Sub MSComm1_OnComm()实践里面写的接收收据,我换了别的方式同时读几个功能还是有问题,我怀疑是数据拥堵的原因,请指点定时读三个功能的数据有需要注意些什么呢,是把定时读三个功能写在一个定时器里面还是分别写在三个定时器里面呢,请给予指点,如果有好的列子给一个列子是最好的,谢谢大家!

------解决方案--------------------
VB code
Dim i As Integer
Private Sub Form_Load()
    i = 0
End Sub

Private Sub Timer1_Timer()
    i = i + 1
    Select Case i
        Case 1
            Me.Caption = 1
        Case 2
            Me.Caption = 2
        Case 3
            Me.Caption = 3
    End Select
    If i = 4 Then i = 0
End Sub

------解决方案--------------------
探讨
我用VB写MODBUS通讯程序定时读功能1,2,3的时读不上来,要么读上来的数据不正确,我读其中一个功能就没有什么问题,我在Private Sub MSComm1_OnComm()实践里面写的接收收据,我换了别的方式同时读几个功能还是有问题,我怀疑是数据拥堵的原因,请指点定时读三个功能的数据有需要注意些什么呢,是把定时读三个功能写在一个定时器里面还是分别写在三个定时器里面呢,请给予指点,如果有好的……

------解决方案--------------------
你是上位机的话不要在oncomm事件里读,你直接监视接收缓冲区里的数据等他的大小不再变化的时候就去把数据取 出来