首页 > 解决方案 > 我从连接到 Arduino 的蓝牙收到 Android 中的奇怪字符

问题描述

Arduino 接收数据没有问题,但是当我通过蓝牙从 arduino 接收 android 数据时,会出现奇怪的字符,例如 . 下面是接收数据的方法代码:

private String convertInputToString() throws IOException {

    DataInputStream is = new DataInputStream(btSocket.getInputStream());

    char c;
    String s = "";

    do {
        c = (char) is.read();
        s += c + "";
    } while (c != '\n');

    return s;
}

我用 Serial.println 传输 arduino 数据

我使用 Arduino Uno 和 Bluetoot HC-06

标签: javaandroidbluetootharduino

解决方案


请详细阅读 Android 开发者指南中的DataInputStream

输入和输出流以纯字节处理,

Android 还提供了读取字节块和创建标准数据类型的方法。

获取数据的正确方法是:

byte[] readStream = new byte[LENGTH]; int howManyBytesInStream; howManyBytesInStream = is.read(readStream);

您需要的数据存储在readStream中,并且

howManyBytesInStream是您实际读取的字节数。


推荐阅读