0
내 응용 프로그램에서 COM 포트에 쓰려고합니다. 연결된 장치는 내가 보낸 메시지를 반환하는 arduino입니다 (테스트 용). 그러나 내가 그것에 쓸 때 나는 내가 GUI에서 버튼을 사용할 때 기대했던 반응을 얻지 못한다.자바 COM 포트 읽기 쓰기가 편리
쓰기 방법 :
public void write(String x) {
try {
outStream.write(x.getBytes());
outStream.flush();
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
}
데이터를 사용할 수 나는 나는 OUTPUT_BUFFER_EMPTY 응답 동안 얻을 수 있지만 데이터를 기록 후 리스너가 호출 될 경우하여 SerialPort가 통지합니다
public void serialEvent(SerialPortEvent event) {
logger.debug("listener called");
if (event.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
BufferedReader portReader = new BufferedReader(new InputStreamReader(inStream));
try {
String line = portReader.readLine();
test(line);
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
}
}
이벤트 리스너 나는 내가 보낸 끈을 기대한다.
SerialPortHandler는 인스턴스를 기반으로하므로 모든 응용 프로그램에서 동일한 포트를 사용할 수 있습니다.
예 : 예상
SerialPortHandler handler = SerialPortHandler.getInstance();
handler.write("hello world");
:
DEBUG [SerialPortHandler.java] - listener called
hello world
실제 :
DEBUG [SerialPortHandler.java] - listener called