我的 Java 程序无法检测到连接到计算机的串行端口设备。
我使用的是 Windows 7(64 位)计算机()。
串行端口设备是一个 GPS 模块,它以 37860 波特输出文本 GPS 字符串,连接到插入笔记本电脑 USB 端口的串行 USB 转换器。
Windows 控制面板/设备管理器将此设备显示为 COM7。
在计算机上运行的 GPS 应用程序“MiniGPS”能够与作为 COM7 的 GPS 芯片进行双向通信。
Processing中的一个应用程序能够检测到计算机有2个串口(com3和com7,com3是鼠标)。
我想用 Java(或 C++)编写一个应用程序来从 GPS 的串行端口收集数据。
我从某处复制了以下代码(如下),不确定现在在哪里,相同或相似的代码已经出现在一堆其他问题中。
当我运行它时,portList枚举返回为空,它根本找不到任何串行端口。
我知道一次只有一个程序可以看到串口,我在尝试之前关闭了设备管理器应用程序、GPS 应用程序和处理应用程序,但CommPortIdentifier对象仍然没有识别出串口。
有什么建议么 ?
public class SimpleRead implements Runnable, SerialPortEventListener {
static CommPortIdentifier portId;
static Enumeration portList;
InputStream inputStream;
SerialPort serialPort;
Thread readThread;
public static void main(String[] args)
{
System.out.println("Hello World");
portList = CommPortIdentifier.getPortIdentifiers();
JOptionPane.showMessageDialog(null,"portlist :"+portList.hasMoreElements());
int numelt=0 ;
while (portList.hasMoreElements())
{
numelt++;
portId = (CommPortIdentifier) portList.nextElement();