如何找到正确的SerialPort名称?

问题描述

我想通过串口从Arduino读取一些信息。

我使用jSerialComm库。

这是我的代码

SerialPort serialPort = SerialPort.getCommPort("COM3");
serialPort.setComPortParameters(9600,8,1,0);

if(serialPort.isopen())
{
  System.out.println("SerialPort is open");
}
else
{
  System.out.println("SerialPort is not open");
}

可悲的是,程序表示端口已关闭,但我知道并非如此。我想我在这里将其命名为错误的:SerialPort.getCommPort("COM3");那么我该如何命名才能使其正常工作?


更新

工作


解决方法

不确定其中任何一项是否有效(无法测试atm),但我希望它能做到:

  • 您也许可以在设备管理器->端口中查找名称;

  • 您可以尝试运行此命令并查看其内容:

SerialPort[] list= SerialPort.getCommPorts();
if (list.length == 0) {
  System.out.println("No ports found");
} else {
  for (int i = 0; i < list.length; i++) {
    System.out.println("Port " + i + ": " + list[i].getDescriptivePortName());
  }
}
  • 或者您可以尝试一下,看看会发生什么:
SerialPort serialPort = SerialPort.getCommPorts()[3];

另外,看看您的波特率,在关闭串行监视器的情况下尝试使用另一条USB电缆。