我用C ++ / Qt编写了一个程序,它从串口(ttyS0)读取数据并通过网络(在特定的TCP端口上)写入。 在网络的另一端,我从相应的套接字读取数据并通过串口将其写回。
我'我基本上在ip网络上创建了一个透明的串口到串口桥接器。 到目前为止一切都很好。
当输入的串行数据进入非停止状态时,问题就开始了。通过网络(@ 100Mbps)发送不间断串行流(@ 19200bps)并通过远程串行端口(@ 19200bps)返回会产生累积延迟。
第一个串行数据包通过REMOTE SERIAL接口发送,延迟可以忽略不计(即从接收串行数据@本地端到我通过远程串行端口写入的时间的总延迟可以忽略不计) 但延迟只是加起来,经过一段时间后," SERIAL pkts"在远程串口可以看到当地收到的延误很大(按照#34;分钟和#34;并且计数完毕)!!
一些注意事项:
我认为问题源于导致远程串口在短时间内变得空闲的小延迟 由于数据可以离开系统@ 19200 bps,因此可能导致远程串行端口空闲的任何延迟都会导致累积延迟。
但我不知道如何衡量延误或使计划及时运作。 任何帮助/提示都非常受欢迎