【问题标题】:Share Serial Port on Linux在 Linux 上共享串口
【发布时间】:2013-06-13 17:32:19
【问题描述】:

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

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

提前感谢您的帮助!

-马修

【问题讨论】:

    标签: c++ linux serial-port raspberry-pi


    【解决方案1】:

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

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

    cat /dev/ttyS0

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

    echo "stuff" > /dev/ttyS0

    【讨论】:

    • 我最初是一名 Windows 专家,现在我都在从事这两个方面的工作。我习惯了 COM 端口是独占的!谢谢!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-29
      • 1970-01-01
      • 1970-01-01
      • 2020-12-11
      相关资源
      最近更新 更多