Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将ASCII数据发送到Android Things上的UART3,最后发送3个“是”0xFF_Java_Android_Android Things_Nextion - Fatal编程技术网

Java 将ASCII数据发送到Android Things上的UART3,最后发送3个“是”0xFF

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

我正在尝试将Nextion HMI串行屏幕连接到Android设备,特别是PICO-PI-IMX6UL

我将使用示例uartloopback模板作为起点

我需要做的是以特定格式和ASCII通过串行(UART3)发送以下有效负载

第1页

  • 指令以三个字节“0xff 0xff 0xff”结束
  • 所有指令和参数均为ASCII格式
  • 所有说明都是小写字母

    mLoopbackDevice.write(buffer,buffer.length)

  • 其中buffer是具有三个终止字节的有效负载

    问题是屏幕需要ASCII码,但我只能发送bytearray

    我已经尝试了多种方法,但似乎无法使其发挥作用

    格式化“第1页”字符串,然后添加终止字节的正确方法是什么

    我让它在一个节点应用程序中工作,但java现在让我大吃一惊

    我试过:

    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线相互连接,检查您真正发送的内容。好主意。让我这样做,看看我能得到什么。。。我不知道为什么我没有想到。。