Msomm控件的comm事件的执行是不是有一个固定的执行时间啊?为什么我的这个执行时间那么长阿? ( 积分: 100 )

  • 主题发起人 主题发起人 乖乖小妹
  • 开始时间 开始时间

乖乖小妹

Unregistered / Unconfirmed
GUEST, unregistred user!
在我的程序里我使用mscomm控件的on comm事件,就是在发现串口的接收buffer里的数据大于设定值之后就会触发读数据。当我要传输四个字节的数据(加上数据传输格式里面的别的数据一共是12个字节)需要20ms发一次数,小于20ms发送的数据就会出错。我要传输120个字节的时候需要200ms,为什么会出现这种情况呢,是我的程序写的冗余,还是comm事件有一个固定的执行时间,因为现在需要短时间内的传送,所以急需解决这个问题。
[red]望达人指点。[/red]
 
在我的程序里我使用mscomm控件的on comm事件,就是在发现串口的接收buffer里的数据大于设定值之后就会触发读数据。当我要传输四个字节的数据(加上数据传输格式里面的别的数据一共是12个字节)需要20ms发一次数,小于20ms发送的数据就会出错。我要传输120个字节的时候需要200ms,为什么会出现这种情况呢,是我的程序写的冗余,还是comm事件有一个固定的执行时间,因为现在需要短时间内的传送,所以急需解决这个问题。
[red]望达人指点。[/red]
 
给你算个帐:假设你的串口一个开始位,一个停止位,没有校验。那么120个字节就是1200个bit。如果你的串口是9600bps,那么发送需要125ms,如果你的串口是2400bps,那么需要500ms,这速度有什么不对吗?怎么快,明明开着一辆手扶拖拉机,却要求宝马的速度,不行呀。
 
嗯,谢谢,我太傻了。
 
接受答案了.
 
后退
顶部