首页 > 解决方案 > 使用jserialcomm无法在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。对此我将不胜感激。

谢谢

标签: java

解决方案


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

如果您需要进一步的帮助,可以在此处找到文档。


推荐阅读