4

我正在将 Raspberry Pi 用于需要能够从不同程序写入和读取串行端口的项目。程序 A 需要能够从外围设备 A 正在发送数据的串行端口读取。程序B需要往串口写数据,外设B正在监听(供参考,本例中程序A是GPSD,程序B是我写的)。程序 A 永远不需要写,而 B 永远不需要读。

是否可以让两个程序同时访问端口?如果没有,是否有可能编写一个程序来创建两个设备节点(拆分/dev/ttyAMA为类似/dev/ttyAMA_1/dev/ttyAMA_2,也许?)多路复用到串行端口?

提前感谢您的帮助!

-马修

4

2 回答 2

2

我相信多个应用程序可以同时访问一个 TTY 设备。您正在从一个用户空间应用程序执行读取操作并从另一个用户空间应用程序执行写入操作这一事实意味着您不太可能遇到问题。

要验证这一点,您可以使用控制台从串行读取到串行设备:

cat /dev/ttyS0

如果您打开另一个终端,您可以毫无问题地写入设备:

echo "stuff" > /dev/ttyS0

于 2013-06-13T18:16:24.030 回答
0

如果您需要控制消息和响应,您可以使用管理串行端口访问的第三个进程。类似于: https ://stackoverflow.com/a/63537265/4702399

于 2020-08-22T14:39:31.350 回答