美文网首页程序员
通用串行通信协议(串口&蓝牙Ble等)

通用串行通信协议(串口&蓝牙Ble等)

作者: 爱因私谈 | 来源:发表于2018-08-10 15:01 被阅读7次

    1. 协议格式

    Package (7~512 bytes)

    1 byte 4 bytes 0~507 bytes 2 bytes
    Magic byte,有效值为0xAB Header Value CRC16

    Header (4 bytes)

    1 byte 4 bits 4 bits 2byts
    Command id Version Reserve Key header

    Key header (2 bytes)

    1 byte 7 bits 9 bits
    Key Reserve Value length

    CRC16 (2 bytes)
    (Magic byte + Header + Value)进行CRC16计算

    1 byte 1byte
    15~8bits 7~0bits

    2. Command详解

    2.1 Command列表

    Command ID 定义
    0x01 固件升级命令
    0x02 设置命令
    0x02 ...

    2.2 固件升级命令(command id 0x01)

    2.2.1 协议版本号

    当前版本号为0。

    2.2.2 固件升级命令key列表
    Key 定义
    0x01 进入固件升级模式请求
    0x02 进入固件升级模式返回
    2.2.3 进入固件升级模式请求Key
    2.2.3.1 功能描述

    手机端通过这个Key让设备进入固件升级模式。

    2.2.3.2 Value 内容描述

    Vaule 为空。

    例如:
    1byte 1 byte 4 bits 4 bits 1 byte 7 bits 9 bits 0 byte 2 bytes
    Magic byte Command id Version Reserve Key Reserve Value length Value CRC16
    0xAB 0x01 0x00 0x00 0x01 0x00 0x00 -- 0xDB4A
    2.2.4 进入固件升级模式返回Key
    2.2.4.1 功能描述

    设备通过这个Key返回是否成功进入OTA。

    2.2.4.2 Value 内容描述
    1 byte 1 byte
    Status code Error code
    Status code 定义
    0x00 进入OTA成功,Error code无意义
    0x01 进入OTA失败
    Error code 定义
    0x01 电量过低
    例如:
    1byte 1 byte 4 bits 4 bits 1 byte 7 bits 9 bits 2 bytes 2 bytes
    Magic byte Command id Version Reserve Key Reserve Value length Value CRC16
    0xAB 0x01 0x00 0x00 0x02 0x00 0x02 0x01 0x01 0xAB52

    相关文章

      网友评论

        本文标题:通用串行通信协议(串口&蓝牙Ble等)

        本文链接:https://www.haomeiwen.com/subject/jvokbftx.html