请教串口通讯的速度问题! 我现在串口通讯用的控件是MSComm,但是我在接收单片机的数据的时候总觉得要等的时间太长,不知道它控件具体是怎么操作的。比如说我接收的数据有20个字节,PC需要等待大概300ms的时间才能接收完全,但是单片机发送20个字节数据的时间最多只要100ms,差的200ms不知道为什么就是一定要浪费。如果数据多的话浪费的时间还要更长。各位看看到底是什么问题啊?有什么控件是可以不浪费这么多时间的?麻烦介绍介绍。谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 提高波特率,可以提高速度,但传输距离会缩短。我用spcomm,大概也20字节左右,如果只是从pc发送,100ms就可以发送完成,并保证对方接收到。如果还要接收,差不多也要250ms.如果pc只运行这个串口程序,时间还可以短些,短的不多。我也在找更有效的方法 SPCOMM比较好用的_____________________http://lysoft.7u7.net to ly_liuyang(Liu Yang):用SPCOMM也缩短不了时间的,都一样。to luxuewei5214(小卢):我用的波特率是9600,一般情况下都是9600的。我想会不会是因为用的是高级语言编写的程序,而不是低级语言向C那样。当数据放到串口的时候已经经过了一级一级的过滤,所以时间就浪费了。若直接用windows的语言写会不会快点。大家发表一下意见看看。 1. C也是高级语言,且效率和Delphi是不分高下的。2. 串口在发送和接收信息的时候没有任何重传机制,如果需要必须自己实现。3. 串口发送和接收的速度一方面受波特率影响,另一方面也受Windows的串口底层驱动影响。因为使用串口发送数据时,数据只是马上送到了Windows的串口缓冲区中,至于什么时候发送完,基本上无法估算。估计会受到多方面的影响,比如发送线程的优先级、Windows消息的传送和处理速度、CPU的速度、内存剩余空间等等。接收也是如此。 那用windows底层语言直接写会不会加快点速度? SPCOMM就是直接API操作,MSCOMM是ActiveX的当然有点不一样的如果你去了驱动级别,直接端口操作,相信效率和API没多大区别的还有WIN2003,XP会比98,ME有更高的效率说道实时性,PC绝对比不上单片机的!PC上还要运行很多程序,做很多事情,而单片机却只是做一样事情_____________________http://lysoft.7u7.net 我使用 ComPort也碰到了一个速度的问题,好象是比较慢,不知道怎么提高速度 xmldocument真怪,只能在unit1里有效,我放到unit2里就不运行了 怎么把WebBrowser的边框去掉? 用wise9.02封装程序怎么据数据库加入到里面去啊! 编码规则问题,请大家指教,谢谢! 怎么能在grid里双击某一行都出现相应的窗口 彻底删除记录?..我好像分满多的((在线等)) 求救 请问:软件发行时,如何注册TF1BOOK控件? 如何在数据库中增加空记录--新手 如何实现StatusBar.Panels[1].text在Panels[1]范围内的平滑移动? 当我的树增加结点以后,我想在刷新后数的所有结点是否有展开跟原来的一样,怎么实现? Delphi操作Excel
http://lysoft.7u7.net
用SPCOMM也缩短不了时间的,都一样。to luxuewei5214(小卢):
我用的波特率是9600,一般情况下都是9600的。我想会不会是因为用的是高级语言编写的程序,而不是低级语言向C那样。当数据放到串口的时候已经经过了一级一级的过滤,所以时间就浪费了。若直接用windows的语言写会不会快点。大家发表一下意见看看。
2. 串口在发送和接收信息的时候没有任何重传机制,如果需要必须自己实现。
3. 串口发送和接收的速度一方面受波特率影响,另一方面也受Windows的串口底层驱动影响。因为使用串口发送数据时,数据只是马上送到了Windows的串口缓冲区中,至于什么时候发送完,基本上无法估算。估计会受到多方面的影响,比如发送线程的优先级、Windows消息的传送和处理速度、CPU的速度、内存剩余空间等等。接收也是如此。
http://lysoft.7u7.net