我正在使用JSSC与serialport进行通信。 数据一次只有1个字节。新字符串由回车/换行符启动。
字符串长度是可变的。 (最多82个字符)
每个字符串以#开头。
由于数据一次只有1个字节,我必须组装字符串。我尝试使用RXTX示例中的bufferedreader和inputstreamreader,但我没有成功。
所以我的问题是,如何逐字节组装字符串并刷新字符串?
我需要它一次是1个字符串,因为它将被解析。
我试过google搜索各种东西: " jssc inputreader bufferedreader示例" " jssc inputreader serialPort.readString()" 等。
//Array list declaration
static List<String> datat = new ArrayList<String>();
...
...
public void serialEvent(SerialPortEvent event) {
try {
String getdata = serialPort.readString(event.getEventValue());
//System.out.print(getdata);
String[] parts= getdata.split("\\r");
if(!datat.isEmpty()){
datat.set(datat.size() - 1, datat.get(datat.size() - 1) + parts[0]);
}
for (int i=1; i<parts.length; i++) {
if (parts[i].contains("\n")) {
if(!datat.isEmpty()) {
datat.clear();
System.out.println("data cleared");
}
} else if (!parts[i].equals("\\r") | !parts[i].equals("\\n")) {
datat.add(parts[i]);
System.out.println(datat);
}
}
}
catch (SerialPortException ex) {
}
}
}
答案 0 :(得分:-1)