gpt4 book ai didi

linux - 将来自一个 COM 端口的传入数据镜像到 Linux 上的虚拟 COM 端口

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:29:22 25 4
gpt4 key购买 nike

有没有一种方法可以让两个驱动程序连接到同一个 COM 设备,其中一个能够向设备发送数据并同时接收传入的数据?

更详细:两个驱动程序还想将数据发送到设备,如果它们都对设备具有写访问权,这会导致问题。因此,指向虚拟 COM 端口的符号链接(symbolic link)根本无济于事。

所以我想最好的选择是将所有从设备传入的数据镜像到一个虚拟 COM 端口。一个驱动程序连接到真实设备(因此也能够向设备发送数据)。另一个只连接到虚拟 COM 端口,因此该程序发送的所有数据都应在/dev/null 中结束。

有没有办法做到这一点,或者有更好的解决方案吗?

编辑:目前的一些方法:

  1. 使用socat

    sudo socat pty,link=/dev/modem0,raw,waitslave file:/dev/ttyACM0,nonblock

    不起作用,因为它是一个符号链接(symbolic link)。

  2. 使用三通

    sudo cat /dev/ttyACM0 | tee 1.txt 2.txt /dev/modem0

    无法写入(虚拟)COM 端口(/dev/modem0 失败)并且我没有直接连接以便也将数据发送到 ttyACM0

  3. 使用 slsnif(与当前内核不兼容)

  4. 使用拦截

    sudo interceptty /dev/ttyACM0 -o "1.txt"

    只能嗅探 ASCII 字符,所有二进制数据都在日志文件中丢失。

最佳答案

您可以创建一个打开此端口并将数据分发到多个文件描述符的应用程序,例如 tee .

关于linux - 将来自一个 COM 端口的传入数据镜像到 Linux 上的虚拟 COM 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29892087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com