PXA270上的RS232通信中的高延迟

PXA270上的RS232通信中的高延迟,第1张

PXA270上的RS232通信中的高延迟

非常感谢您的评论。

我能够将延迟减少到〜0.4ms。AEL手册中引用了命令setserial(8)。宾果游戏,我在

low_latency
那里找到带有以下描述的标志

以提高CPU利用率为代价,最大程度地减少串行设备的接收延迟。(通常,在将字符移交给行障碍之前,平均等待时间为5-10毫秒,以最大程度地减少开销。)默认情况下,此功能处于关闭状态,但是某些实时应用程序可能会发现此功能有用。

然后我执行

setserial /dev/ttyS1 low_latency
了,延迟减少到了〜0.4ms :-)

但是我想在C ++应用程序中实现此行为,而不用setserial全局设置此标志(默认情况下,并非所有发行版中都包含此命令)。

我添加了以下代码行,其效果与setserial中的low_latency标志相同:

#include <sys/ioctl.h> #include <linux/serial.h>// Open RS232 on COM1mPhysicalComPort = open(aPort, O_RDWR | O_NOCTTY | O_NDELAY);struct serial_struct serial;ioctl(mPhysicalComPort, TIOCGSERIAL, &serial); serial.flags |= ASYNC_LOW_LATENCY; // (0x2000)ioctl(mPhysicalComPort, TIOCSSERIAL, &serial);


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5012121.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存