Я получаю странные символы в Android от Bluetooth, подключенного к Arduino - PullRequest
0 голосов
/ 10 мая 2018

Arduino получает данные без проблем, но когда я получаю данные Android от Arduino через Bluetooth, появляются странные символы, такие как. Вот код метода, который получает данные:

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;
}

И я передаю данные arduino с помощью Serial.println

Я использую Arduino Uno и Bluetoot HC-06

1 Ответ

0 голосов
/ 10 мая 2018

Пожалуйста, прочитайте DataInputStream из Руководства Android для разработчиков подробно.

Потоки ввода и вывода обрабатываются в чистых байтах,

Android также предоставляет методы для чтения кусков байтов и создания стандартных типов данных.

Правильный способ получения данных:

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

Необходимые данные хранятся в readStream и

howManyBytesInStream - количество фактически прочитанных байтов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...