7

我只是运行一些代码来获取我的计算机上的可用端口列表,当我有 3 个免费的 com 端口时它返回错误。我该如何解决这个问题?

我的代码:

public static void main(String[] args) {
        //SerialParameters params=new SerialParameters();
       // System.out.println(CommPortIdentifier.PORT_SERIAL );
        Enumeration portList = CommPortIdentifier.getPortIdentifiers();
        System.out.println(portList.hasMoreElements());
        while(portList.hasMoreElements()){
            System.out.println("Has more elements");
             CommPortIdentifier portId = (CommPortIdentifier) portList.nextElement();
               if (portId.getPortType() == CommPortIdentifier.PORT_PARALLEL) {
                    System.out.println(portId.getName());
               }
               else{
                     System.out.println(portId.getName());
               }

        }
}

输出:假

4

3 回答 3

4

看来您的 javax.comm API 设置可能不正确。确保您已完成以下操作:

  1. comm.jar文件放在jre/lib/ext目录中。
  2. javax.comm.properties文件放在jre/lib目录中。
  3. 放置win32com.dlljre/bin目录中。

上述每个组件“应该”在此处可用。

于 2010-12-20T21:16:33.427 回答
0

我正在使用 ubuntu 并且我的计算机没有任何串行/并行端口。

在这种情况下,您需要模拟此端口。

我的答案:

在ubuntu上用java进行串口识别

于 2014-02-05T03:18:45.943 回答
-1

如果你碰巧做了我天真做的事,我还有一个额外的答案。

我只是忘记将我的用户添加到dialout组中,结果是找不到串行端口,而我的/dev/ttyUSB0被正确转发到了 Lubuntu 机器的 VirtualBox 实例。

于 2021-04-08T09:43:46.290 回答