
eBus 协议

目录
1. 协议格式..............................................................................................................................................................................................................................................................................3
1.1. 协议描述:...............................................................................................................................................................................................................................................................3
1.2. 包类型值说明...........................................................................................................................................................................................................................................................5
1.3. 设备内存表说明.......................................................................................................................................................................................................................................................5
1.4. 主机读设备内存.......................................................................................................................................................................................................................................................6
1.5. 主机写设备内存(不带响应)...............................................................................................................................................................................................................................6
1.6. 主机写设备内存(带响应)...................................................................................................................................................................................................................................6
1.7. boot 升级功能 ...........................................................................................................................................................................................................................................................7
1.7.1. 终端到->MCU...............................................................................................................................................................................................................................................7
1.7.2. MCU->终端....................................................................................................................................................................................................................................................8
2. 使用例子..............................................................................................................................................................................................................................................................................9
2.1. 长包例子...................................................................................................................................................................................................................................................................9

1. 协议格式
中文说明
头 1
头 2
包类型
参数长度
参数
校验和取反
长度说明
1Byte
1Byte
1Byte
不定长(1Byte 或 2Byte)
参数长度值
1Byte
值说明
FFH
FFH
XXH
参数长度值
XXH
1.1. 协议描述:
头 1:H1 固定 FEH,文章后面所有的头 1 用 H1 表示
头 2:H2 固定 EFH,文章后面所有的头 2 用 H2 表示
包类型:查询命令描述表
包类型值说明
参数长度表示后续的包内数据长度:变长,可以为 1 字节 2 字节,参数长度低字节在前,当前参数长度字节 bit7 位为高时,表示后面一个字节也是表示参数长度。
参数长度 2(由参数长度 1 的 bit7 决定是否有参数长度 2)
参数长度 1
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
保留
始终为 0
长度 14
长度 13
长度 12
长度 11
长度 10
长度 9
长度 8
下 一 个 字 节
是 参 数 还 是
参数长度
长度 7
长度 6
长度 5
长度 4
长度 3
长度 2
长度 1
举例(使用例子查看:
长包例子
)
如:参数长度 100 字节表示为:0x64
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
是否有后续长度字节位
长度 6
长度 5
长度 4
长度 3
长度 2
长度 1
长度 0
0
1
1
0
0
1
0
0
如:参数长度 128 个字节表示为:80H(低字节) 01H(高字节)
Bit15
Bit14
Bit13
Bit12
Bit11
Bit10
Bit9
Bit8
是否有后续长度字节位
长度 6
长度 5
长度 4
长度 3
长度 2
长度 1
长度 0
0
0
0
0
0
0
0
1
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
是否有后续长度字节位
长度 6
长度 5
长度 4
长度 3
长度 2
长度 1
长度 0
1
0
0
0
0
0
0
0
如:参数长度为 16384 个字节表示为:80H(低位) 80H(中位) 01H(高位)

Bit23
Bit22
Bit21
Bit20
Bit19
Bit18
Bit17
Bit16
是否有后续长度字节位
长度 6
长度 5
长度 4
长度 3
长度 2
长度 1
长度 0
0
0
0
0
0
0
0
1
Bit15
Bit14
Bit13
Bit12
Bit11
Bit10
Bit9
Bit8
是否有后续长度字节位
长度 6
长度 5
长度 4
长度 3
长度 2
长度 1
长度 0
1
0
0
0
0
0
0
0
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
是否有后续长度字节位
长度 6
长度 5
长度 4
长度 3
长度 2
长度 1
长度 0
1
0
0
0
0
0
0
0
字节转长度:(0x01<<7=0x80)
1 字节例子:长度=低字节
2 字节例子:长度=低字节&0x7F+高字节*(0x01<<7)
3 字节例子:长度=低字节&0x7F+(中字节&0x7F)*(0x01<<7)+高字节*(0x01<<14)
长度转字节:128=0x01<<7; 16384=0x01<<7; 4194304=0x01<<21;
长度小于 128: 低字节=长度
长度大于等于 128 小于 16384: 高字节=(长度>>7); 低字节=(长度&0x7F)|0x80;
长度大于等于 16384 小于 4194304: 高字节=(长度>>14); 中字节=(长度>>7) |0x80; 低字节=(长度&0x7F)|0x80;
参数:
校验和取反