Java 将ASCII数据发送到Android Things上的UART3,最后发送3个“是”0xFF
我正在尝试将Nextion HMI串行屏幕连接到Android设备,特别是PICO-PI-IMX6UL 我将使用示例uartloopback模板作为起点 我需要做的是以特定格式和ASCII通过串行(UART3)发送以下有效负载 第1页Java 将ASCII数据发送到Android Things上的UART3,最后发送3个“是”0xFF,java,android,android-things,nextion,Java,Android,Android Things,Nextion,我正在尝试将Nextion HMI串行屏幕连接到Android设备,特别是PICO-PI-IMX6UL 我将使用示例uartloopback模板作为起点 我需要做的是以特定格式和ASCII通过串行(UART3)发送以下有效负载 第1页 指令以三个字节“0xff 0xff 0xff”结束 所有指令和参数均为ASCII格式 所有说明都是小写字母 mLoopbackDevice.write(buffer,buffer.length) 其中buffer是具有三个终止字节的有效负载 问题是屏幕需要ASCI
String strCommand = "page 1";
byte b = (byte)0xFF;
byte[] endCommand = {b,b,b};
byte[] cmd = strCommand.getBytes();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
outputStream.write(cmd);
outputStream.write(endCommand);
byte[] payload = outputStream.toByteArray();
Screen.write(payload, payload.length);
但这是行不通的
我可以读取数据(目前没有任何用处),这样我就可以确认通信是否正常,并且它可以在我的节点应用程序中工作,但我需要将它移植到Android东西上
谁能给我指出正确的方向吗
编辑:这将在JS中为我返回正确的格式
function hex(str) {
var arr = [];
for (var i = 0, l = str.length; i < l; i ++) {
var ascii = str.charCodeAt(i);
arr.push(ascii);
}
arr.push(255);
arr.push(255);
arr.push(255);
return new Buffer(arr);
}
函数十六进制(str){
var-arr=[];
对于(变量i=0,l=str.length;i
ooi等效节点js代码看起来是什么样子?添加了工作js版本。我将“第1页”传递给十六进制函数,但我看不出有问题。错误可能在别处,屏幕。写入操作字节数组?将PICO-PI-IMX6UL UART3的Tx和Rx线相互连接,检查您真正发送的内容。好主意。让我这样做,看看我能得到什么。。。我不知道为什么我没有想到..哦,等价的节点js代码是什么样子的?添加了工作js版本。我将“第1页”传递给十六进制函数,但我看不出有问题。错误可能在别处,屏幕。写入操作字节数组?将PICO-PI-IMX6UL UART3的Tx和Rx线相互连接,检查您真正发送的内容。好主意。让我这样做,看看我能得到什么。。。我不知道为什么我没有想到。。