vb 发送时间间隔

来源:百度知道 编辑:UC知道 时间:2024/05/12 15:06:10
用vb作的单片机和pc通信程序,用定时器发送,定时器设为1ms一桢,如果一下发送多桢,比如一下发送50桢,循环发送,明显感觉发送时间很长,不是1ms,发送一组估计了一下大概得超过1s,而不是50ms,不知道是为什么?我的发送程序是:
Public Sub TxTimer_Timer()

TxByte(1) = TxFrame(CUN_Tx)

FORM_SetRS232!MSCOMM_Rs232.Output = TxByte

CUN_Tx = CUN_Tx + 1
End sub
数组 TxFrame多了发送时间会很长,明显不是按照一桢1ms来发的
还有个问题,我们为了解决这个问题,采取下位机不停的循环发送,300ms发送一组数据,倒是解决了,不过上位机cpu占用非常高,达到了90%多,为什么,谢谢,会追加分值。。

VB的Timer控件只能做到每秒18个动作。不可能实现1ms间隔。你还需考虑MSCOMM的设置,如"9600,n,8,1",每秒约可传送960字节数据。
通信中请注意,上位机或下位机最好只搞成一端主发,一端被动应答。