问题描述
我想通过串口从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电缆。