我正在开发一个涉及嵌入式设备的项目。我应该向此设备发送命令。该命令是一个字符串:“LAMP1_ON \ r \ n”;
我正在使用带有java的RXTX并通过串口发送数据。但是当我发送String命令时,设备会收到“AMP_N”和其他一些分散的字符串。
我不知道为什么会这样,以及我如何解决它。
我的代码如下:
public class SerialWriter implements Runnable {
OutputStream out;
String str;
public SerialWriter(OutputStream out, String str) {
this.out = out;
this.str = str;
}
public void run() {
try {
byte[] array = this.str.getBytes();
this.out.write(array);
this.out.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
我希望通过write方法将字符串发送到端口。它有效,但它不发送this.str
中包含的确切字符串,而是发送“AMP_N”和“AMP”以及分散的字符串
答案 0 :(得分:0)
我已经看到了这个问题。我没有正确设置FLOWCONTROL属性。谢谢。这段代码工作正常
serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);