我使用的是Eclipse IDE。在jssc-0.9.0版本中,我已经正确地将jssc.jar添加到引用库中。但是当我运行它的时候,它总是被终止的。说“这是我的代码”Application/usr/lib/jvm/java-6-openjdk-i386/bin/java“MainJava
import jssc.SerialPortList;
public class Main {
public static void main(String[] args) {
String[] portNames = SerialPortList.getPortNames();
for(int i = 0; i < portNames.length; i++){
System.out.println(portNames[i]);
}
}
}发布于 2012-10-24 08:22:48
我遇到了类似的问题,所以我检查了jssc代码,发现在linux中,SerialPortList.getPortNames()解析dmesg输出以'ttyS‘或'ttyUSB’开头的端口名--但是我唯一的串行设备在ttyACM0上,当然getPortNames函数找不到它……在运行代码时,您还可以检查jssc的linux本机库(libjSSC-0.9x86.so)是否从jssc.jar解压缩到~/.jssc/linux/。
发布于 2016-03-17 18:28:07
我遇到了同样的问题,以我的浅见,答案是不正确的-至少在2.8.0版本的jssc中是不正确的。
在我的例子中,Port列表是空的,因为Linux (我的例子是Ubuntu 12.04 )不允许任何用户使用串行端口--这就是为什么这个列表是空的。因此,我执行了以下命令,将我的用户添加到允许使用串行端口的用户组:
sudo usermod -a -G dialout tim我需要注销并再次登录系统,才能被系统识别为该组的成员-但之后,当我执行上面的代码片段时,我得到了以下代码行:
/dev/ttyACM0它现在包含唯一配置的串行端口,由于权限,允许我的用户查看该端口。
https://stackoverflow.com/questions/12220240
复制相似问题