6

出于测试目的,我正在尝试编写一个连接到使用 socat 创建的虚拟串行端口的简单程序。

我使用以下命令创建串行端口:

socat -d -d PTY,b9600 PTY,link=ttyVS1,b9600

得到这个输出:

2011/11/08 18:26:31 socat[32708] N PTY is /dev/pts/1
2011/11/08 18:26:31 socat[32708] N PTY is /dev/pts/2
2011/11/08 18:26:31 socat[32708] N starting data transfer loop with FDs [3,3] and [5,5]

当我尝试以这种方式连接时:

System.IO.Ports.SerialPort _port;
_port = new SerialPort("/dev/pts/1", 9600);
_port.Open();

我得到一个“文件名未知” System.IO.IOException

我是否缺少设置 DataBits、StopBits 或其他参数?如何发现 socat 设置的属性?或者这段代码有什么问题?

4

1 回答 1

1

这里的问题肯定是设备的名称。你可以在 /dev 检查 /dev/pts/1 存在吗?也许它有另一个名字,比如 /dev/pts1?

于 2011-11-08T17:35:46.700 回答