当端口存在时,为什么会出现Java NoSuchPortException?

3

以下是生产代码,我正在为一个新的驱动程序使用它。portName 是 COM4,这个端口存在于 PC 上(我可以用超级终端连接它),那么为什么 Javacomm 会抛出 NoSuchPortException?COM4 在设备管理器中显示正常。

    final String portName = getSerialPort();
    try {
        final CommPortIdentifier id = CommPortIdentifier.getPortIdentifier(portName);
        port = (SerialPort) id.open(getName(), 1000);
    } catch (NoSuchPortException nspe) {
        report(SeverityCode.LEVEL2, getName(), "PIN Pad is not connected to " + portName + " port, or the port does not exist.");
        return;
    } catch (PortInUseException piue) {
        report(SeverityCode.LEVEL2, getName(), portName + " port is already in-use by some other device. Reason: " + piue.getMessage());
        return;
    }
1个回答

2

尝试使用CommPortIdentifier.getPortIdentifiers()枚举系统上可用的端口列表,并打印所列出的内容。您确定已将jar文件和dll文件安装在正确的文件夹中吗?如果是,则尝试使用CommPortIdentifier.addPortName(java.lang.String portName, int portType, CommDriver driver)添加COM4端口。您可以将驱动程序参数设置为null以使用默认驱动程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接