zoukankan      html  css  js  c++  java
  • 传输数据结构说明

    SettingsetBrightness为例说明。

    Main : Distribute HMI task request :setBrightness, handler:0x04.

    Distribute HMI task:收到串口数据,处理分发给HMI的任务

    setBrightness:HMI请求的请求名

    handler:0x04:插件ID

    Main : Distribute MCU task code :0x8404, handler:0x04.

    code :0x8404:mcu的业务代码

    handler:0x04:(code & 0x7F00)>> 8 的值

    Serial : <<== , 48530000011284040088

    串口服务收到的mcu的数据类型

    报文首部

    报文数据

    报文校验

    起始字节

    协议版本

    数据长度

    帧号

    业务代码

    业务数据(变长)

    1字节校验和

    HS

    1

    2

    1

    2

    48 十进制 72 = H

    53 十进制 83 = S

    00 协议版本号

    0001 数据长度 1

    12 十进制 18 帧号

    8404 业务代码 主板应答报文

    00: 数据 ACK_RECV_SUCCESS

    88:报文校验和 ,有待验证

    Serial : ==>> , 4853010002120404011f14

    串口服务发给mcu的数据

    48 十进制 72 = H

    53 十进制 83 = S

    01 协议版本号

    0002数据长度

    12 十进制 18 帧号

    0404 业务代码 设置TFT背光参数

    011f 数据 01 背光开 1f背光值 31

    14 报文校验和,有代码验证

    Server : recv 86, {"BI":1024,"FI":0,"Main : Distribute HMI task request :setBrightness, handler:0x04. 打印数据错误

    替代数据

    Server: recv 86, {"BI":1024,"FI":0,"PI":1024,"PN":"setBrightness","PP":20,"RN":"setBrightness","RP":20}

    recv 86:socket服务端接收到的数据长度

    BI:1024 插件ID(新版) 设置的插件ID(十六进制0x0400 对应十进制 1024)

    FI:0 帧号 0

    PI:1024 插件ID(旧版)设置的插件ID(十六进制0x0400 对应十进制 1024)

    PN:port 名字 setBrightness,赋值是请求名,没意义

    PP:port 参数 20 赋值请求参数,没意义

    RN:请求名:setBrightness 设置背光值

    RP:请求参数:20

    Client connect :127.0.0.1 58263

    connect 127.0.0.1:本地IP

    58263:不明白

    Client : send 47,{"AN":"brightness","AP":29,"PI":1024,"SI":1024}

    AN:属性”brightness”

    AP:属性值:29

    PI:1024插件ID(旧版插件ID)

    SI:1024插件ID(新版插件ID)

    Client : connect 127.0.0.1:5348.

    connect 127.0.0.1:本地IP

    5348:HMIAPP 的端口号

    按照代码理论传数值

    插件端组合值:{“PI”:1024, “BI”:1024, “RN”:” setBrightness”, “PN”:” setBrightness”, “RP”:20, “PP”:20, “FI”:0}

    发送数据之前,在插件端组合值前面加了4个字节,数据长度

    客户端连接服务器,客户端打印的日志:Client : connect server 127.0.0.1:5348

    客户端发送数据:没有打印数据长度前面四个字节:Client : send 47, {“PI”:1024, “BI”:1024, “RN”:” setBrightness”, “PN”:” setBrightness”, “RP”:20, “PP”:20, “FI”:0}

     

    服务端接收到客户端数据:Client connect :127.0.0.1 58263

     58263:服务端随机产生的端口号,区分不同的进程连接

    服务器端接收到客户端数据:Server : recv86, {“PI”:1024, “BI”:1024, “RN”:” setBrightness”, “PN”:” setBrightness”, “RP”:20, “PP”:20, “FI”:0}

     

    串口服务发送数据:Serial : ==>> , 4853010002120404011f14

    串口服务接收数据:Serial : <<== , 48530000011284040088

    回调函数处理数据,打印日志:Main : Distribute MCU task code :0x8404, handler:0x04.

     

    附件地址:

    链接: http://pan.baidu.com/s/1o79sfdK 密码: y7sm

    设置模块日志:

    链接: http://pan.baidu.com/s/1boDcpav 密码: hy99

     

  • 相关阅读:
    数据结构--链表基础练习题
    LeetCode 10.28每日一题1207. 独一无二的出现次数【简单】
    数据结构--链表
    LeetCode 10.25每日一题845. 数组中的最长山脉【中等】
    LeetCode 10.22每日一题763. 划分字母区间【中等】
    解决map热点与uni-app中map标签冲突的问题。(Vue Render函数应用)
    【Codeforces 1329A】Dreamoon Likes Coloring
    【Codeforces Alpha Round #20 C】Dijkstra?
    【 Educational Codeforces Round 93 (Rated for Div. 2) D】Colored Rectangles
    【Codeforces Round #643 (Div. 2) C】Count Triangles
  • 原文地址:https://www.cnblogs.com/senior-engineer/p/6169391.html
Copyright © 2011-2022 走看看