我在我的com端口连接了一个设备,我正在尝试获取它的值,但我在第一步陷入困境。
我无法获得现有的COM端口。在下面的代码中,枚举似乎是空的,因为程序根本不进入while循环。任何人都可以请帮助
public class connectnow implements Runnable, SerialPortEventListener {
static CommPortIdentifier portId;
static Enumeration portList;
InputStream inputStream;
SerialPort serialPort;
Thread readThread;
byte[] readBuffer;
public static void main(String[] args) {
portList = CommPortIdentifier.getPortIdentifiers();
System.out.println("portList... " + portList);
while (portList.hasMoreElements()) {
System.out.println("yes");
}
}
答案 0 :(得分:0)
这似乎对我有用。
我必须从http://mfizz.com/oss/rxtx-for-java安装x64版本的RXTX。包是gnu.io(这就是你看到导入的原因)。你可能需要做些不同的事情。
请注意,getPortIdentifiers()返回需要一些时间。给它时间。
import gnu.io.*;
import java.util.Enumeration;
import java.io.InputStream;
public class connectnow implements Runnable, SerialPortEventListener {
static CommPortIdentifier portId;
static Enumeration portList;
InputStream inputStream;
SerialPort serialPort;
Thread readThread;
byte[] readBuffer;
public static void main(String[] args) {
portList = CommPortIdentifier.getPortIdentifiers();
System.out.println("portList=" + portList);
while (portList.hasMoreElements()) {
System.out.println("yes");
CommPortIdentifier portId = (CommPortIdentifier)portList.nextElement();
System.out.println("portId=" + portId);
}
}
public void run() {
}
public void serialEvent(SerialPortEvent ev) {
}
}