使用 UartDevice 发送相同的 UART 命令不起作用,可以使用 UsbSerial

问题描述

我已使用 com.felhr.usbserial.UsbSerialDevice 成功发送了一个命令,但是当我尝试使用 com.google.android.things.pio.UartDevice 编写/发送相同的命令时,它收到了预期的响应,但随后还附加了一个意外的响应。

例如

val myCmd = "\$SOME_COMMAND\r"
uartDevice.write(myCmd.toByteArray(),myCmd.toByteArray().size)

...
byte[] buff = new byte[20];
int length = uart.read(buff,20);
if (length > 0) {
   String retString = new String(buff,length);
   Log.d("UartExample","msg - " + retString);
}

响应的第一部分是预期的,但是在使用 Android Things UartDevice 类时,我得到了额外的字符。

我也试过打电话: UART写后:uart.flush(UartDevice.FLUSH_OUT) 阅读后:uart.flush(UartDevice.FLUSH_IN) 没有运气..

我需要一个带有 UartDevice 的终端字符吗?

我使用过 cutiecom 并具有完全相同的 $SOME_COMMAND\r 字符串,它按预期返回响应。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...