我有一个通过串行协议进行通信的程序uart
。我想simple terminal emulator
在同一台计算机上运行来测试该协议。
该程序打开/dev/tty
。我想打开终端模拟器(如屏幕、kermit 或其他东西)以使用相同的tty
.
我的上述想法的表述如下:
<terminal> --> /dev/tty <--- <program to test>
实际上,我的想法是/dev/ptmx
用终端模拟器打开,然后打开/dev/pts/x
与我的程序相对应的东西来做到这一点,但这似乎很难实现。
关于我尝试过的更多说明:
/dev/ptmx
当我使用此命令打开终端时:
screen /dev/ptmx 115200
7
它创建一个在以下路径中调用的文件/dev/pts/7
。我无法使用以下命令打开此文件:
$ screen /dev/pts/7 115200
[screen is terminating]
或者甚至命令cat
无法打开它:
$ cat /dev/pts/7
cat: /dev/pts/7: Input/output error
stty -F
另外,我尝试了也无法打开它的命令!:
$ stty -F /dev/pts/7
stty: /dev/pts/7: Input/output error
如何让两个屏幕相互通信pty
?
答案1
我设法使用该项目进行通信tty0tty
:
一旦内核模块加载到 Linux 中/dev/tntx
,tty
设备就会出现。我们刚刚管理了一个程序与 的连接/dev/tntn
,并且该程序screen/kermit/..
有效/dev/tnt(n+1)
。