加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

使用Java检测串行COM端口

发布时间:2020-12-14 19:22:07 所属栏目:Java 来源:网络整理
导读:我的Java程序无法检测连接到计算机的串行端口设备. 我正在使用Windows 7(64位)计算机(). 串口设备是GPS模块,输出37860波特的文本GPS串,连接到插入笔记本电脑USB端口的串行USB转换器. Windows控制面板/设备管理器将此设备显示为COM7. 在计算机上运行的GPS应用

我的Java程序无法检测连接到计算机的串行端口设备.

我正在使用Windows 7(64位)计算机().

串口设备是GPS模块,输出37860波特的文本GPS串,连接到插入笔记本电脑USB端口的串行USB转换器.

Windows控制面板/设备管理器将此设备显示为COM7.

在计算机上运行的GPS应用程序“MiniGPS”能够与GPS芯片作为COM7在两个方向上进行通信.

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();
最佳答案
我建议你使用JSSC库.

它经验丰富,您的代码将更加简洁

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读