倾家荡产,求一串口收发数据干扰问题的解决方案,顶者有分!
在长时间运行过程中,后台机与前台设备通讯的时候,偶尔出现通讯失败。比如我要采集数据,在采集过程中偶尔出现通讯失败,继续让程序运行,过一段时间之后又可以采到数据了,感觉好象是干扰问题,但也有人说是收到命令的动作问题,希望大侠可以提出宝贵意见或建议帮忙解决这一问题,谢谢!后台机与前台设备是通过屏蔽线连接的。不知道我描述得够清楚不。
[解决办法]
速率搞得低一点试试。
[解决办法]
检查前后台机间的通信协议,如按9600波特率,一般每秒最大可收发960字节数据量,如你的前后台机间数据量达960字节,则接收后的数据处理时间太紧。应提高波特率,接收后留出足够时间处理数据。
接收代码的算法应简练。
此外串口连接线按RS232口不应太长。
现场是否有电磁场干扰源。
[解决办法]
up~~~
[解决办法]
我怀疑是时间bug.
1.你的程序好像工作很长时间,看前面的对答,猜想你采用串行口通信。
2.关于采集数据,或许你采用定时轮询接收缓冲区的方式。
时间.检查你的程序关于时间的计算有无bug。
另外,你对通信失败的描述不够全。
因为通信故障受到干扰,接收到数据错误,那就得增加容错措施。
所谓失败,连接不上,握手不成功?连接后,线路断开?
建议采用RTS/CTS 协议。