在Linux上共享串口

4
我正在使用树莓派做一个项目,需要能够从不同的程序中写入和读取串口。程序A需要能够从串口读取数据,其中外设A正在发送数据。程序B需要向串口写入数据,其中外设B正在监听(在这种情况下,程序A是GPSD,程序B是由我编写的)。程序A永远不需要写入,而B永远不需要读取。
两个程序能同时访问串口吗?如果不能,是否可能编写一个程序创建两个设备节点(将/dev/ttyAMA拆分成类似/dev/ttyAMA_1/dev/ttyAMA_2的形式),然后复用串口?
感谢您的帮助!
-Matthew
2个回答

2
我相信多个应用程序可以同时访问TTY设备。因为您从一个用户空间应用程序执行读操作,另一个应用程序执行写操作,所以不太可能遇到问题。
要验证这一点,您可以使用控制台将串行数据读入串行设备: cat /dev/ttyS0 如果您打开另一个终端,您可以毫无问题地向设备写入数据: echo "stuff" > /dev/ttyS0

我最初是个Windows用户,现在也同时使用两者。我习惯于COM端口是独占的!谢谢! - Matthew Kennedy

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接