2012-08-31 19 views
1

我正在使用Eclipse IDE。與jssc-0.9.0版本,我已正確地將jssc.jar添加到引用庫。但是當我運行它時,它總是被終止。 說 「主[Java應用程序]/usr/lib目錄/ JVM/JAVA-6的OpenJDK-I386 /斌/ java的」 這是我的代碼在Ubuntu中的jssc SerialPortList

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

回答

1

我有類似的問題,所以我檢查了JSSC代碼,並發現在Linux中SerialPortList.getPortNames()解析dmesg輸出的端口名稱,以'ttyS'或'ttyUSB'開頭 - 但我唯一的串行設備是在ttyACM0上,當然getPortNames函數找不到它.. 。你也可以檢查當你運行你的代碼時,jssc的linux本地庫(libjSSC-0.9_x86.so)是否從jssc.jar提取到〜/ .jssc/linux/...

2

我遇到過問題和我的愚見,答案是不正確的 - 在至少不要使用jssc的2.8.0版本。

在我的情況下,端口列表是空的,因爲Linux(在我的情況下Ubuntu 12.04)不允許任何用戶使用串行端口 - 這就是爲什麼列表爲空。所以,我執行下面的命令來我的用戶添加到允許使用串行端口的用戶組:

sudo usermod -a -G dialout tim 

我需要註銷,爲了再次登錄該系統被認爲是由該組成員系統 - 但在那之後我得到了以下線的時候我執行段以上:

/dev/ttyACM0 

現在,它包含我的用戶可以看到的唯一配置串口由於權利。