0

我已经通过以下线程来解决我的疑问。但是,目前还不清楚。

为什么我收到的串行 BT 数据会被截断?

克里斯,这是你建议的一个很好的解决方法。在您提供的解决方案中,附加 '\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();
        }

这种接待有什么问题?如果您能尽快回答会很好,因为这是我项目的结束部分,并且截止日期即将到来。谢谢!

4

1 回答 1

0

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

于 2013-04-20T09:23:08.623 回答