我用VB进行串口通信,上位机发送命令字后,下位机接收到以后回传,触发oncomm事件后让timer1.enabled=true 然后执行timer控件,在timer控件里执行当上位机接收的数据与命令字相同后,再发送“R”,此时应该会在触发oncomm事件对吧?那又会让timer1.enabled=true ,我想问此时程序具体怎么跑,是继续将未跑完的第一timer事件运行完在响应oncomm事件还是立马响应oncomm事件而继续执行当前timer事件里面后面的程序?请教高手指点,不胜感激!!!!!!

解决方案 »

  1.   

    我用VB进行串口通信,上位机发送命令字后,下位机接收到以后回传,触发oncomm事件后让timer1.enabled=true 然后执行timer控件,在timer事件里里接收下位机上传的数据,当上位机接收的数据与它下穿给下位机的命令字相同后,发送“R”,此时应该会再次触发oncomm事件对吧?这样就会又让timer1.enabled=true ,我想问此时程序具体怎么跑,是继续将未跑完的timer事件运行完在响应oncomm事件还是立马响应oncomm事件而继续执行当前timer事件里面后面的程序?请教高手指点,不胜感激!!!!!!
      

  2.   

    形成一个类似递归一样调用了, timer会再次执行, 想想递归的效果
      

  3.   

    会继续完成当前正在运行的TIMMER事件,VB里每个过程结束后才会进行下一个过程.在你的程序中会在完成了当前的TIMMER事件后再去进行下一个TIMMER事件,通过单步调试可以看到