我通过连接到Arduino的蓝牙接收Android中的奇怪角色

时间:2018-05-10 03:52:29

标签: java android bluetooth arduino

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

1 个答案:

答案 0 :(得分:0)

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

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

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

获取数据的正确方法是:

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

您需要的数据存储在 readStream

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