gpt4 book ai didi

java - 如何使用java初始化串口?

转载 作者:搜寻专家 更新时间:2023-11-01 03:28:07 25 4
gpt4 key购买 nike

我知道这个问题已经被问过很多次了,我已经查看了来自谷歌的前 20 个搜索结果,但我仍然无法让我的代码工作。

portList = CommPortIdentifier.getPortIdentifiers();
System.out.println("portList... " + portList);
while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
System.out.println("port identified is Serial.. "+ portId.getPortType());
if (portId.getName().equals("COM2")) {
System.out.println("port identified is COM2.. "+ portId.getName());
SimpleRead reader = new SimpleRead();
} else {
System.out.println("unable to open port");
}
}else{
System.out.println("pordId.PortType = "+portId.getPortType());
System.out.println("CommPortIdentifier.PORT_SERIAL = "+CommPortIdentifier.PORT_SERIAL);
}
}

我得到的输出是

run:

端口列表... javax.comm.CommPortEnumerator@18020cc构建成功(总时间:0 秒)

有谁知道哪里出了问题吗?为什么 portId 没有更多元素?程序没有进入while循环。

提前感谢您阅读这篇文章。

最佳答案

我设法解决了这个问题。我需要将文件复制到以下位置才能使 javac.comm 正常工作

1) win32com.dll to directory : jdk1.7.0/bin
2) javax.comm.properties to directory : jdk1.7.0/jre/lib
3) comm.jar to directory : jdk1.7.0/lib

现在输出是

portList... javax.comm.CommPortEnumerator@9173ef
port identified is Serial.. 1
port identified is CO11.. COM11
In SimpleRead() contructor
Serial Port.. COM11
Input Stream... com.sun.comm.Win32SerialInputStream@95c083
................
port identified is Serial.. 1
unable to open port
pordId.PortType = 2
CommPortIdentifier.PORT_SERIAL = 1
pordId.PortType = 2
CommPortIdentifier.PORT_SERIAL = 1
ending main
In run() function

关于java - 如何使用java初始化串口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7940206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com