Я попробовал пример проекта обратной связи 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, чтобы закрыть консоль.
Как я могу это решить? Благодарю вас!