我有一个设备连接在我的com端口,我试图得到它的值,但我被困在第一步。
我无法获得现有的com端口。在下面的代码中,由于程序根本没有进入while循环,因此by enumeration似乎为空。有谁能帮帮忙吗?
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");
}
}
这似乎对我有用。
我必须从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) {
}
}