Android蓝牙收到串口数据乱码

时间:2013-04-18 06:32:52

标签: java android matlab bluetooth

我怀疑我已经完成了以下主题。但是,目前还不清楚。

Why does the serial BT data I received get chopped out?

克里斯,这是你提出的一个很好的解决方法。在你提供的解决方案中,附加'\ n'的解决方案适合我,因为我纯粹从我的PC(MATLAB)传输浮点值 - 转换为字符串后 - 到我的Android手机。我正在使用以下代码通过搜索'\ n'来对数据进行分组,但仍然会收到的数据有时会出现乱码。请告诉我我要改变什么。

aReader = new InputStreamReader( mmInStream );
mBufferedReader = new BufferedReader( aReader );
aString = mBufferedReader.readLine();
mHandler.obtainMessage(BluetoothActivity.MESSAGE_READ, aString).sendToTarget();

这是我在处理程序中显示数据的内容:

String readMessage = (String) msg.obj;
        try{
            float readM = Float.parseFloat(readMessage);
            text.append("\n" + readM);
        }catch (NumberFormatException e) {
            text.append("\n Number Format Exception!!");
            e.printStackTrace();
        }

这种接待有什么问题?如果你能快速回答这将是很好的,因为这是我项目的结论部分,截止日期已接近尾声。谢谢!

1 个答案:

答案 0 :(得分:0)

我自己解决了这个问题。我将分隔符从“\ n”更改为“N”(因为没有字符是我的数据中浮点值的一部分)并且我已经实现了令人满意的传输速率,数据完整性超过99%(我发送的2000个样本中)在接收器(我的应用程序)中,从MATLAB以每秒600个样本的速率,只有10个出现乱码。但是,感谢@Chris Stratton的想法!