我正在使用超级终端从传感器读取输入。该传感器发送一个字符串,其格式应为 6 位或 5 位和一个小数点(但它可以是 2 个空格,然后是 3 位和一个小数)制表符分隔符 测量单位(“Ci”,“mCi”等)制表符分隔符字符串 例如(F-18 或 C-11)制表符分隔符制表符 CRLF 字符串结束标识符。
如果我通过超级终端监视此输入它会完美读取
0.00 kBq F-18 2D
但是,当我阅读它时,我大部分时间都会得到字符串的断线段,有时我会得到正确的字符串,下面显示了我可以返回的示例。
0.00 k□□□□□□□□□□□□□
Bq F-18 2D□□□□□□□□□
0.00 kBq F-18 □□□
0.002D
□□□□□□□□□□
我使用的代码来自 RXTX 库。
public void serialEvent (SerialPortEvent event){
if (event.getEventType()== SerialPortEvent.DATA_AVAILABLE){
byte[] readBuffer = new byte[19];
try{
while (inputStream.available() > 0){
int numBytes = inputStream.read(readBuffer);
}
catch (IOException e) {}
input_line = new String (readBuffer);
inter.update(input_line);}}