Linux下共享串口
Share Serial Port on Linux
我正在使用树莓派进行一个项目,该项目需要能够从不同的程序写入和读取串行端口。程序A需要能够从串行端口读取,其中外设A正在发送数据。程序B需要向串口写入数据,而外设B正在监听(作为参考,本例中程序A为GPSD,程序B由我编写)。程序A不需要写,程序B也不需要读。
是否有可能让两个程序同时访问端口?如果没有,是否有可能编写一个程序,创建两个设备节点(将/dev/ttyAMA
拆分为/dev/ttyAMA_1
和/dev/ttyAMA_2
之类的东西,也许?),多路复用到串行端口?
提前感谢您的帮助!
马修
我相信多个应用程序可以同时访问TTY设备。从一个用户空间应用程序执行读操作,从另一个用户空间应用程序执行写操作,这意味着您不太可能遇到问题。
要验证这一点,您可以使用控制台从串行读入串行设备: cat /dev/ttyS0
如果你打开另一个终端,你可以写入设备没有任何问题:
echo "stuff" > /dev/ttyS0
如果需要控制消息和响应,可以使用第三个进程来管理串行端口的访问。喜欢的东西:https://stackoverflow.com/a/63537265/4702399
相关文章:
- 为什么我要从串口读取垃圾?
- Boost Asio SerialPort。无法创建并打开串口服务
- 如何在QtWidget中使用c++串口发送数据
- 如何插入十六进制值并发送到串口?
- 串口打开返回 EAGAIN
- QT 5.10.1 串口不发送,为什么?
- 通过串口发送后无法获取原始值
- C++ / RS232C 串口 / 事件回调异步读取缓冲区 / 不使用线程
- 串口读取功能的通信超时和线程不超时
- QT 5.7 串口读取速度很慢
- 串口通信
- 为什么Qt(4.8)串口(qextserialport)分两部分从设备读取数据
- 将C++串口奇偶校验更改代码从 Linux 移植到 Windows
- qt串口未打开
- 有没有一个跨平台的c++串口库可以枚举端口
- Qt串口,当我写的时候,我看不懂我写的东西
- 是否可以检查串口是空闲还是占用
- 无法将简单的读/写串口代码从 boost::asio::serial_port 迁移到 QSerialPort
- 通过c++中的串口发送数据
- Linux下共享串口