0

我正在使用 Eclipse 中的 Java 通信 API。这是我的示例程序,用于获取所有可用端口进行通信,但程序退出,因为CommPortIdentifier.getPortIdentifiers()不返回任何内容。Enumeration enu_ports为空并且程序退出。

我已经完成的步骤:

  • 我已将我的智能希望者连接到主机。
  • 将 win32com.dll 文件 system32 文件夹并添加到 eclipse 项目中
  • 在eclipse项目中添加javax.comm.properties文件
  • 将 com.jar 添加到构建路径中,我的系统是 32 位,操作系统是 windows 7

如果任何步骤不正确,请提供将 Eclipse Indigo 与 Java 通信 API 一起使用的步骤。

import java.util.Enumeration;

import javax.comm.CommPortIdentifier;

class GetAvailableComPorts {

    public static void getComPorts(){
        String     port_type;
        Enumeration  enu_ports  = CommPortIdentifier.getPortIdentifiers();

        while (enu_ports.hasMoreElements()) {
            CommPortIdentifier port_identifier = (CommPortIdentifier) enu_ports.nextElement();

            switch(port_identifier.getPortType()){
                case CommPortIdentifier.PORT_SERIAL:
                    port_type   =   "Serial";
                    break;
                case CommPortIdentifier.PORT_PARALLEL:
                    port_type   =   "Parallel";
                    break;

                default:
                    port_type   =   "Unknown";
                    break;
            }

            System.out.println("Port : "+port_identifier.getName() +" Port type : "+port_type);
        }
    }
    public static void main(String[] args) {
        getComPorts();
    }
}
4

1 回答 1

1

这个问题肯定与 Eclipse 无关。你用的是什么串行库?好像不是RXTX。您是否尝试过替代库,例如PureJavacommNrJavaSerial?这能解决你的问题吗?

于 2013-02-01T10:19:14.810 回答