avi*_*tex 1 ubuntu cloning split serial-port
一切都在我的串口上工作。我已经将我的 FTDI 转换器连接到我的电脑,设置我的 COM 端口......
ln -s /dev/ttyUSB0 ~/wine/dosdevices/COM1
但现在我想“克隆”这个端口。
我正在使用 wine 来运行 u-center 一个 GPS 可视化工具,我有一台运行 Ubuntu 的 Linux 计算机
谁能帮忙?
小智 5
虽然之前的答案说它不能共享,但这部分是错误的。
linux TTY 端口可以用不同的应用程序打开(如果它们不使用或检查锁),但是数据将被谁先读取,因为只有一个缓冲区,因此数据不会对两个进程都可用. 在某些情况下这是可以的,有些情况下这是不行的,但通常人们不想要这个。
由于可以从用户空间创建 TTY,因此没有什么可以阻止任何人创建用户空间应用程序,该应用程序创建 2 个虚拟/假串行端口,并将它们连接到一个物理串行端口。
ttybus就是这样做的(来自自述文件):
Use case 1: Multiplexing serial input only or output only device attached to /dev/ttyS0, for use with multiple applications.
- step 1: create a new tty bus called /tmp/ttyS0mux:
tty_bus -s /tmp/ttyS0mux &
sleep 1
- step 2: connect the real device to the bus using tty_attach:
tty_attach -s /tmp/ttyS0mux /dev/ttyS0 &
sleep 1
- step 3: create 2 fake ttyS0 devices, attached to the bus:
tty_fake -s /tmp/ttyS0mux /dev/ttyS0fake0 &
tty_fake -s /tmp/ttyS0mux /dev/ttyS0fake1 &
sleep 1
- step 4: start your application and force it to use the new serial device for input or output
/bin/foo /dev/ttyS0fake0 &
/bin/bar /dev/ttyS0fake1 &
Run Code Online (Sandbox Code Playgroud)
注意:我不得不通过终止命令来将所有 tty_* 二进制文件分叉到后台,&因为这些二进制文件正在阻塞,并且需要休眠一些时间以防止二进制文件相互践踏。
祝你好运!
| 归档时间: |
|
| 查看次数: |
8109 次 |
| 最近记录: |