我想通过串口开发文件执行 IPC 管道。这是我首先尝试使用的要求
sudo socat /dev/ttyS0,raw,echo=0,crnl /dev/ttyS1,raw,echo=0,crnl
它给出如下错误
2014/12/xx 10:33:19 socat[17848] E tcgetattr(4, 0x7fffe76ecaa0): Input/output error
一旦连接了 ttyS0 和 ttyS1,我假设我们可以像使用 pipe() 一样执行读/写操作,我将有两个程序 peer0.c 和 peer1.c,peer0.c 打开 /dev/ttyS0 和 peer1。 c打开/dev/ttyS1,这样读写操作应该如下
peer0=>ttyS0--->---ttyS1=>peer1
peer0<=ttyS0---<---ttyS1<=peer1
由于 /dev/ttyS(0/1) 是系统范围的,我可以在一个终端上运行 peer0.c 程序,在另一个终端上运行 peer1.c,
基本上,我有基于 linux 的嵌入式应用程序,当移植到目标硬件时,它将由基于 linux 的 PC 通过 minicom UART 接口控制。目标打开它的ttyS0来读取从PC发送的uart数据,在PC中,命令将通过minicom发送到目标。现在我想在一个终端的同一台 PC 上运行目标应用程序,并想从另一个终端/minicom 发送命令。通信也应该是双向的
有可能实现这个目标吗?还是有任何其他类似的方法可以实现相同的目标?
提前致谢