无法使用jserialcomm在Java中找到串行端口

时间:2018-12-05 11:21:06

标签: java

我想在串行端口和java之间建立通信,因为我的真实设备还没有到,所以我经常按照人们在互联网上的建议使用socat。

我首先使用此命令为虚拟串行端口运行socat

socat -d -d pty,raw,echo=0 pty,raw,echo=0

然后我得到了

2018/12/05 05:05:04 socat[2687] N PTY is /dev/pts/4
2018/12/05 05:05:04 socat[2687] N PTY is /dev/pts/5

这意味着我可以将/ dev / pts / 4和/ dev / pts / 5用于端口(注意:这是socat随机给出的,我不知道为什么)

,然后我尝试使用python与/ dev / pts / 4进行通信,并且运行良好,然后我将Java与jSerialComm库一起使用,无法连接到/ dev / pts / 4,甚至无法列出任何端口。

SerialPort sp=SerialPort.getCommPort("/dev/pts/4");
System.out.println(sp.isOpen());

我的Java代码不断返回false。 任何对此的回应,我将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:1)

执行SerialPort sp=SerialPort.getCommPort("/dev/pts/4");后,您将获得控制该端口的对象。但是,在打开端口之前,它仍然是关闭的。这是通过执行sp.openPort();完成的。然后,您将看到运行sp.isOpen();时应返回true。

如果您需要进一步的帮助,请参见here