0

我正在使用带有 USB 串行连接的 Raspberry Pi - 因此 Raspberry Pi 有一个 USB 引线连接到一些硬件照明板。

当我通过这个 USB 连接发送许多串行命令时,似乎有一个延迟,有时它会变慢,并且不会让下一个串行命令通过,当我延迟发送的串行命令时,它似乎有部分帮助,如果我在 Windows 上做同样的事情,就不会有滞后问题。

我已经设置了串行 USB 硬件工作所需的参数:

stty -F /dev/ttyUSB0 38400

在没有滞后的 Windows 上 - 我使用:

mode com3: BAUD=38400 PARITY=N data=8 stop=1 xon=off

即使我在 Linux 上设置了其他类似的参数,仍然存在延迟。-所以问题是stty命令,我可以在USB端口上设置一些参数或设置,以结束立即发送的串行命令,并让多个即时串行命令被发送。因此,如果 3 个一起发送,它要么将它们排队,要么允许所有 3 个按顺序排列。

我看过“man stty”,并尝试了一些选项,但无济于事......所以寻找一些有经验的帮助来解决问题。

或者有什么替代 stty 的东西可以用来更快或更好地处理同时发送的大量串行 USB 命令。

顺便说一句,我正在使用 PHP 发送串行命令,例如:

file_put_contents("/dev/ttyUSB0", chr(6).chr(255).chr(0).chr(0).chr(0).chr(5));

我认为这不是问题,任何帮助表示赞赏。谢谢。

4

1 回答 1

0

我使用相同的设置:Raspberry Pi B+ 和 USB-2 串行设备。我遇到了同样的问题:单个“stty”命令中的多个命令失败。相反,我使用单个“stty”命令序列,由睡眠周期(数百毫秒)分隔。这不是很好,但它的功能 - 初始化只在启动后发生一次。

于 2015-11-20T13:54:25.893 回答