Я пытаюсь отправить данные через COM-порт через класс SerialPort и получать данные через COM-порт, но с этой проблемой ......... .................................................. ..............................................Ошибка: нестационарный метод readstring не может ссылаться на статический контекст
Спасибо.
import jssc.SerialPort;
import jssc.SerialPortException;
import jssc.*;
public class writeValues {
public static void main(String[] args) {
SerialPort serialPort = new SerialPort("COM1");
try {
//Open port
String T;
serialPort.openPort();
serialPort.setParams(2400,7,2,1, false, true);
String bytes = serialPort.readString(); //Reads 10 bytes from serial port
serialPort.addEventListener(new PortReader(), SerialPort.MASK_RXCHAR);
serialPort.writeString("connected.");
//serialPort.closePort();
}
catch (SerialPortException ex) {
System.out.println(ex);
}
}
public static class PortReader implements SerialPortEventListener {
@Override
public void serialEvent(SerialPortEvent event) {
if(event.isRXCHAR() && event.getEventValue() > 0) {
try {
String receivedData = SerialPort.readString(event.getEventValue());
System.out.println("Received response: " + receivedData);
}
catch (SerialPortException ex) {
System.out.println("Error in receiving string from COM-port: " + ex);
}
}
}
}
}
Проблема здесь: 'String receivedData = SerialPort.readString (event.getEventValue());'. Вы вызываете 'readString()' в классе (а не в экземпляре). Это не допускается для нестатических методов. В 'main()' вы делаете то же самое правильно. –