串口通信问题:怀疑MSCOMM的接收数据能力有问题!!! 在DELPHI中调用MSCOMM接收数据确实有问题,前一段时间我一直在搞串口通讯,调用MSCOMM控件接收数据不是缺位就是错位,后来改用CPort263就可以了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你在http://www.csdn.net/expert/topic/420/420062.shtm,说过这个问题,贴子还没有结.我提一些看法任何串口通讯都有可能丢失数据,只不过发生的几率不同,你只能想办法去降低它windows下mscomm程序检测串口需要一定的时间间隔,比如说4ms检测一次(你可以测个测试程序自己先测一下),如果握手设的不好容易丢数,你的RThreshold 太少了,触发太频繁容易丢数,关键是要在编程时考虑丢数的情况,握手时可以加上收发的大小,每次发送按照接收大小选择发送内容,触发终止可以加上定时检验去重新触发,不要把心思用在怎么去避免丢数上 superyiman(役满) : 你说得很有道理。我现在采用定时器,如果超过规定时间未收到规定字节数,则给发端发重发信号,让发端重新发送一遍。现在可以在两台机器之间在6分钟之内,传完1M字节的文件。但只是迂回解决了串口通信丢失的问题。 后来我也试过把RThreshold设为需要接收的字节数,但还是无法避免丢失数据的现象。 我觉得在串口通信中,加入RTS/CTS握手协议,应该可以避免数据丢失问题。 不知道在SPCOMM中是否会丢失数据?请多指教! 唉牙牙,我正在用Spcomm,不好用啊,我正考虑换MScomm,看你们这么一说,我怎么办啊? 数据库相关版打不开,只好到这来问了,filter用法 如何隱藏服務的進程? ★★★★★第二十六期:CSDN论坛秀-Delphi版-本期作秀:lw549(那个孩子他爹) 关于B/S结构、Delphi5、Dcom技术的几个问题。 那位大哥有五子棋之类的游戏源代码,给小弟传一个 真正的Delphi程序员的地方! 关于Delphi的异常处理问题 帮忙看看这段程序有没有错误 请高手帮忙一下啊!!!! 谁做过户籍管理软件 如何让panel控件透明? 谁能帮我解决这个问题?我很急。
我提一些看法
任何串口通讯都有可能丢失数据,只不过发生的几率不同,你只能想办法去降低它
windows下mscomm程序检测串口需要一定的时间间隔,比如说4ms检测一次(你可以测个测试程序自己先测一下),如果握手设的不好容易丢数,你的RThreshold 太少了,触发太频繁容易丢数,关键是要在编程时考虑丢数的情况,握手时可以加上收发的大小,每次发送按照接收大小选择发送内容,触发终止可以加上定时检验去重新触发,不要把心思用在怎么去避免丢数上
你说得很有道理。我现在采用定时器,如果超过规定时间未收到规定字节数,则给发端发重发信号,让发端重新发送一遍。现在可以在两台机器之间在6分钟之内,传完1M字节的文件。但只是迂回解决了串口通信丢失的问题。
后来我也试过把RThreshold设为需要接收的字节数,但还是无法避免丢失数据的现象。
我觉得在串口通信中,加入RTS/CTS握手协议,应该可以避免数据丢失问题。
不知道在SPCOMM中是否会丢失数据?请多指教!