Android вещи UART не может получить данные (RPi3B)

Я попробовал пример проекта обратной связи UART для Android на github с моим RPi3B. https://github.com/androidthings/sample-uartloopback

Когда я отправляю данные из инструментов отладки последовательного порта на компьютер, вызывается функция обратного вызова приложения UART, но функция чтения UART не может прочитать данные, следующая функция while никогда не вводится, а считанный параметр всегда равен нулю.

while ((read = mLoopbackDevice.read(buffer, buffer.length)) > 0) {
      mLoopbackDevice.write(buffer, read);
}

Я попробовал функцию mLoopbackDevice.write() по отдельности, и это сработало хорошо.

Я также попробовал функцию mLoopbackDevice.read() по отдельности, которая по-прежнему не получала никаких данных, но я обнаружил, что мои инструменты отладки последовательного порта всегда получали данные, которые я отправлял. Похоже, что данные были возвращены системой Linux и не могут быть получены системой androidthings.

Я уже удалил console=serial0,115200 в cmdline.txt, чтобы закрыть консоль.

Как я могу это решить? Благодарю вас!


person Wenbo Qin    schedule 14.03.2017    source источник
comment
Вы используете Developer Preview 2? Если это так, я предлагаю вам прочитать этот отчет об ошибке, так как он может повлиять и на вас: code.google.com/p/android/issues/detail?id=233938   -  person devunwired    schedule 15.03.2017
comment
Спасибо Devunwired! Теперь он работает хорошо!   -  person Wenbo Qin    schedule 15.03.2017


Ответы (1)


Я думаю, что лучше отключить все управление потоком при настройке UART. Проводное соединение должно быть tx->rx и rx->tx.

person Yucheng Wang    schedule 21.03.2017