ULI 发表于 2021-6-28 17:40:46

MCU发给串口屏的指令是存储在哪里?

假如我在单片机用了Record_GetCount命令,单片机发给串口屏的指令是存在uint8cmd_buffer; 这里吗?我看了手册这是串口屏发给MCU的指令缓冲区,求解

Cp`sir 发表于 2021-6-29 11:45:47

cmd_buffer 该缓冲区为单片机串口接收指令缓冲区,即是屏幕发出来的指令,单片机在While(1)检测buff大小,且有完整数据就取出解析执行

ULI 发表于 2021-6-29 19:49:37

本帖最后由 ULI 于 2021-6-29 19:52 编辑

大神你好,我就是想知道我发送了这个Record_GetCount(),它的返回指令是存在哪里的?我取cmd_buffer的第8第9个字节不就是Count记录数目值吗?代码如下
uint16 Getcount(void)
{
      if((cmd_buffer=0xB1)&&(cmd_buffer=0x55))
      {
                if((cmd_buffer!=0xFF)&&(cmd_buffer!=0xFF))
                {
                        Recordcount = ((cmd_buffer<<8)|cmd_buffer);
                }
                else
                {
                        Recordcount = 618;
                }
      }
      return Recordcount;
}



Record_GetCount(11,1);                                                                //发送获取当前记录数目命令
               Recount = Getcount();                                                                //将当前记录数目赋值给一个变量
               printf("当前测试记录总数为:%hu",Recount);                //打印当前测试记录总数
               printf("***接收到的指令为:%s***",cmd_buffer);
但我打印出来的都是618,打印的指令为 EE B1 55 11 03 30 20 24 50 FF FC FF FF FF,明显就不对啊EE B1 55 00 0B 00 01 1D 00 17 FF FC FF FF(实时记录是23个)


If后要接end 发表于 2021-6-30 11:54:06

官网那个模板的指令处理里面是没有解析记录控件的函数,需要您自己自行参考补充

ULI 发表于 2021-7-1 16:17:34

If后要接end 发表于 2021-6-30 11:54
官网那个模板的指令处理里面是没有解析记录控件的函数,需要您自己自行参考补充 ...

你好,我现在就想知道这个返回指令放到了哪里?解析我自己来

If后要接end 发表于 2021-7-1 16:32:03

屏发送给单片机的指令是存放在cmd_buff这个数组里面,您可以用官网的物联型单片机程序模拟试一下

ULI 发表于 2021-7-1 16:48:58

If后要接end 发表于 2021-7-1 16:32
屏发送给单片机的指令是存放在cmd_buff这个数组里面,您可以用官网的物联型单片机程序模拟试一下 ...

好的谢谢,但是我出来的指令出现画面ID和控件ID不对,而且固定值0x1D也没有,数目值少了一个字节数值也不对,这是什么情况,我用printf打印了cmd_buff的值

If后要接end 发表于 2021-7-1 16:58:33

ULI 发表于 2021-7-1 16:48
好的谢谢,但是我出来的指令出现画面ID和控件ID不对,而且固定值0x1D也没有,数目值少了一个字节数值也不 ...

如果您上面的截图是单片机的程序的话,Record_GetCount(11,1) 是您自定义函数的情况下,它要发送读取记录控件数目的指令给屏幕,就是发送EE B1 55 00 0B 00 01 FF FC FF FF 这个指令。如果这不是您自定义的函数的话,那不可能写在程序里面,这是lua脚本的函数。

ULI 发表于 2021-7-1 17:05:37

If后要接end 发表于 2021-7-1 16:58
如果您上面的截图是单片机的程序的话,Record_GetCount(11,1) 是您自定义函数的情况下,它要发送读取记录 ...

这个函数是hmi_driver.c里的函数,不是自定义的,这是lua编程才能用的吗?

If后要接end 发表于 2021-7-1 17:13:16

那就可以直接用,参数那里屏幕ID和控件ID都是16位的
页: [1]
查看完整版本: MCU发给串口屏的指令是存储在哪里?