上位机连接100台外设,轮询方式与它们通讯,先发出地址信息,等待应答(即若该地址和外设地址相同,则回复同样的地址信息)。我用onComm过程接收其反馈:如果接收到,则完成后再发出另外的地址
帧,和别的外设通讯;若超时,仍未收到,同样发出另外的地址帧,和别的外设通讯。循环进行。
请问:如何实现?

解决方案 »

  1.   

    '用延迟.
    '下面是一个延迟的涵数.
    Public Sub Delay(PauseTime As Long)
    Dim Start As Single
    Start = Timer 
    Do While Timer < Start + PauseTime
          DoEvents 
    Loop
    End Sub
    '你首先定一个全局变量为Boolean类型.
    在MSComm1_OnComm事件中将这个变量设为真
    开始轮询的时候设为假.发一条信息出去后就执行延迟函数,
    等到函数执行完后就判断是否收到信息(如果收到就触发MSComm1_OnComm事,那个全局变量就是真了),再执行....