Java串行通信。获取的错误为';这不是我写的任何代码
我正在写一个监控串行设备输出的小程序。我正在使用jSerialComm库,但出现了一个错误(不会使程序崩溃,它会继续运行)。错误如下(我不确定它是否与串行相关,因为我看到swing提到了很多,但是错误每隔5秒左右就会触发一次(每次我从设备接收到一个新的数据字符串): 现在,所有这些链接的代码行都不在我编写的代码中,所以我不知道如何调试它们 这是我的密码:Java串行通信。获取的错误为';这不是我写的任何代码,java,netbeans,Java,Netbeans,我正在写一个监控串行设备输出的小程序。我正在使用jSerialComm库,但出现了一个错误(不会使程序崩溃,它会继续运行)。错误如下(我不确定它是否与串行相关,因为我看到swing提到了很多,但是错误每隔5秒左右就会触发一次(每次我从设备接收到一个新的数据字符串): 现在,所有这些链接的代码行都不在我编写的代码中,所以我不知道如何调试它们 这是我的密码: private void btn_refreshActionPerformed(java.awt.event.ActionEvent evt)
private void btn_refreshActionPerformed(java.awt.event.ActionEvent evt) {
// Re Query the COM ports to see available ports.
updateStatus("Port List Updated");
comPortList = SerialPort.getCommPorts();
dropDownPorts.removeAllItems();
for (SerialPort value: comPortList) {
dropDownPorts.addItem(value.getSystemPortName());
}
public void connectPort(int index) {
System.out.println("Attempting to connect to Index:" + index);
int baudRate = 115200;
SerialPort comPort = comPortList[index];
currentConnectedPort = comPort;
comPort.openPort();
comPort.setParity(SerialPort.NO_PARITY);
comPort.setNumStopBits(SerialPort.ONE_STOP_BIT);
comPort.setNumDataBits(8);
comPort.addDataListener(this);
comPort.setBaudRate(baudRate);
System.out.println("Connection successful!");
updateStatus("Connected!");
}
@Override
public int getListeningEvents() {
return SerialPort.LISTENING_EVENT_DATA_AVAILABLE;
}
@Override
public void serialEvent(com.fazecast.jSerialComm.SerialPortEvent event) {
System.out.println("Serial Event triggered!");
if (event.getEventType() != SerialPort.LISTENING_EVENT_DATA_AVAILABLE) {
System.out.println("Event type is not LISTENING EVENT");
return;
}
int bytesAvailable = currentConnectedPort.bytesAvailable();
if (bytesAvailable <= 0) {
System.out.println("Bytes available <= 0");
return;
}
int bytesRead = currentConnectedPort.readBytes(buffer, Math.min(buffer.length, bytesAvailable));
String response = new String(buffer, 0, bytesRead);
System.out.println("Response received is");
System.out.println(response);
parseData(response);
}
private void btn_refreshActionPerformed(java.awt.event.ActionEvent evt) {
// Re Query the COM ports to see available ports.
updateStatus("Port List Updated");
comPortList = SerialPort.getCommPorts();
dropDownPorts.removeAllItems();
for (SerialPort value: comPortList) {
dropDownPorts.addItem(value.getSystemPortName());
}
public void connectPort(int index) {
System.out.println("Attempting to connect to Index:" + index);
int baudRate = 115200;
SerialPort comPort = comPortList[index];
currentConnectedPort = comPort;
comPort.openPort();
comPort.setParity(SerialPort.NO_PARITY);
comPort.setNumStopBits(SerialPort.ONE_STOP_BIT);
comPort.setNumDataBits(8);
comPort.addDataListener(this);
comPort.setBaudRate(baudRate);
System.out.println("Connection successful!");
updateStatus("Connected!");
}
@Override
public int getListeningEvents() {
return SerialPort.LISTENING_EVENT_DATA_AVAILABLE;
}
@Override
public void serialEvent(com.fazecast.jSerialComm.SerialPortEvent event) {
System.out.println("Serial Event triggered!");
if (event.getEventType() != SerialPort.LISTENING_EVENT_DATA_AVAILABLE) {
System.out.println("Event type is not LISTENING EVENT");
return;
}
int bytesAvailable = currentConnectedPort.bytesAvailable();
if (bytesAvailable <= 0) {
System.out.println("Bytes available <= 0");
return;
}
int bytesRead = currentConnectedPort.readBytes(buffer, Math.min(buffer.length, bytesAvailable));
String response = new String(buffer, 0, bytesRead);
System.out.println("Response received is");
System.out.println(response);
parseData(response);
}
public void updateGUI() {
// triggered by parser
streamRx += newLine;
txt_rawOutput.setText(streamRx);
if (values.length > 52) {
System.out.println("received values string");
txt_coilIn.setText(values[8]);
txt_coilOut.setText(values[9]);
txt_coilCtrl.setText(values[6]);
txt_compressorCtrl.setText(values[11]);
txt_compressorActual.setText(values[12]);
txt_fan1Pwr.setText(values[2]);
txt_fan2Pwr.setText(values[4]);
txt_freezerTemp.setText(values[22]);
txt_fridgeTemp.setText(values[31]);
txt_targetTemp.setText(values[20]);
txt_timeStamp.setText(values[0]);
txt_ambientTemp.setText(values[72]);
txt_heater1Pwr.setText(values[46]);
txt_heater2Pwr.setText(values[50]);
txt_freezerPan.setText(values[48]);
txt_fridgePan.setText(values[52]);
txt_coilIn.updateUI();
txt_coilOut.updateUI();
txt_coilCtrl.updateUI();
txt_compressorCtrl.updateUI();
txt_compressorActual.updateUI();
txt_fan1Pwr.updateUI();
txt_fan2Pwr.updateUI();
txt_freezerTemp.updateUI();
txt_fridgeTemp.updateUI();
txt_targetTemp.updateUI();
txt_timeStamp.updateUI();
txt_ambientTemp.updateUI();
txt_heater1Pwr.updateUI();
txt_heater2Pwr.updateUI();
txt_freezerPan.updateUI();
txt_fridgePan.updateUI();
}
//UPDATE UI
txt_rawOutput.updateUI();
txt_rawOutput.setCaretPosition(txt_rawOutput.getDocument().getLength() - 1);
}