gpt4 book ai didi

Java:串行端口异常-端口正忙

转载 作者:太空宇宙 更新时间:2023-11-04 10:09:11 25 4
gpt4 key购买 nike

我有一个通过 com 端口连接到 PC 的钞票 validator 。我尝试将数据发送到账单 validator 并接收输出(账单 validator 通过 ccnet 协议(protocol)进行通信)这是我的代码 -

public static void main(String[] args) throws SerialPortException {

String s[]=SerialPortList.getPortNames();
for (String x :s){
System.out.print(x);
SerialPort serialPort=new SerialPort(x);
}

try {
SerialPort serialPort=new SerialPort("COM4");
serialPort.openPort();
serialPort.setParams(9600, 8, 1, SerialPort.PARITY_NONE);
serialPort.writeString("RESET");
serialPort.setEventsMask(SerialPort.MASK_RXCHAR);
serialPort.addEventListener(new list());

System.out.println(serialPort.readBytes(5));
} catch (SerialPortException sex){
System.out.print(sex);
}

串口事件监听器:

private  static class list implements SerialPortEventListener{

@Override
public void serialEvent(SerialPortEvent spe) {
if (spe.isRXCHAR()&&spe.getEventValue()>0){
try {

String data =s erialPort.readString(spe.getEventValue());
} catch (SerialPortException ex) {
Logger.getLogger(Terminal.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

所以我得到串行端口异常端口正忙,我该如何解决这个问题?

最佳答案

这通常会在两种情况下发生:1-您分配了错误的端口,可能是另一个设备,您可以通过设备管理器检查它。2-您之前已使用其他软件打开过它,或者您之前运行的代码可能仍在使用它并且您尚未终止它。我在您的代码中看到您首先列出了所有 com 端口,但您没有从中受益,这似乎是多余的。我建议您删除代码的 try 部分中的所有行,只保留 openport 行,并对其他行执行此操作,以查看哪一行给出异常。

关于Java:串行端口异常-端口正忙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52540999/

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