RXTX无法列出ubuntu上的端口

时间:2013-03-20 19:49:10

标签: java ubuntu serial-port rxtx

我正在尝试运行简单的代码:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import gnu.io.CommPortIdentifier; 
import gnu.io.SerialPort;
import gnu.io.SerialPortEvent; 
import gnu.io.SerialPortEventListener; 
import java.util.Enumeration;


public class SerialTest implements SerialPortEventListener {
SerialPort serialPort;
private BufferedReader input;
private OutputStream output;
private static final int TIME_OUT = 2000;
private static final int DATA_RATE = 9600;

public void initialize() {
CommPortIdentifier portId = null;
Enumeration portEnum = CommPortIdentifier.getPortIdentifiers();
while (portEnum.hasMoreElements()) {
CommPortIdentifier currPortId = (CommPortIdentifier) portEnum.nextElement();
System.out.println( "a " + currPortId.getName());
}
}

public synchronized void close() {
//...
}

public synchronized void serialEvent(SerialPortEvent oEvent) {
// ...
}

public static void main(String[] args) throws Exception {
SerialTest main = new SerialTest();
main.initialize();
}
}

它应该列出我系统中可用的COM端口。我正在尝试 3.2.0-39-generic#62-Ubuntu x86_64 x86_64 x86_64 GNU / Linux 和Java 1.6

首先我从apt-get存储库安装了RXTX,但遇到一些麻烦后我从源代码安装它仍然无法正常工作。我在所有ttyS *上制作chmod 777,以确保这与权限没有问题 我尝试this但没有帮助。

2 个答案:

答案 0 :(得分:1)

您还需要在类路径上使用.so文件。

您可以从http://rxtx.qbang.org/wiki/index.php/Download下载预构建的二进制文件,但不幸的是它们只能以32位格式提供。

如果您使用Eclipse,则只需将.so文件放在项目的根目录中即可。如果这不起作用,您可以尝试设置java.library.path VM参数。有关该说明,请访问How to set the java.library.path from Eclipse

答案 1 :(得分:0)

我找到了librxtxSerial.so library的64位版本。我已经对它进行了测试,但它确实有效。

下载此文件并将其复制到/usr/lib folder