1

我正在使用 Eclipse IDE。使用 jssc-0.9.0 版本,我已将 jssc.jar 正确添加到引用库中。但是当我运行它时,它总是终止。说“Main[Java Application]/usr/lib/jvm/java-6-openjdk-i386/bin/java”这是我的代码

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]);
        }
    }
}
4

2 回答 2

3

我遇到了同样的问题,以我的拙见,答案是不正确的 - 至少不是 jssc 的 2.8.0 版本。

在我的例子中,端口列表是空的,因为 Linux(在我的例子中是 Ubuntu 12.04)不允许任何用户使用串行端口——这就是列表为空的原因。所以我执行以下命令将我的用户添加到允许使用串行端口的用户组:

sudo usermod -a -G dialout tim

我需要注销并再次登录系统才能被系统识别为该组的成员 - 但之后我在执行上面的代码段时得到以下行:

/dev/ttyACM0

它现在包含我的用户由于权限而被允许查看的唯一已配置串行端口。

于 2016-03-17T10:28:07.480 回答
1

我遇到了类似的问题,所以我检查了 jssc 代码,发现在 linux 中,SerialPortList.getPortNames() 解析 dmesg 输出以查找以“ttyS”或“ttyUSB”开头的端口名称——但我唯一的串行设备在 ttyACM0 和当然 getPortNames 函数找不到它...您还可以检查 jssc 的 linux 本机库(libjSSC-0.9_x86.so)是否从 jssc.jar 提取到 ~/.jssc/linux/ 当你运行你的代码...

于 2012-10-24T00:22:48.007 回答