mavlink协议
一帧数据的长度为8到263个字节。
其具体的解析如下所示:
字节的索引 值 含义
0 0xFE(V1.0) 帧头,表示一帧数据的开始
1 0 ~ 255 表示有效数据的长度
2 0 ~ 255 包序列,允许丢包
3 1 ~ 255 系统的ID,发送系统的ID,允许在同一网络区分不同的飞行器。
4 0 ~ 255 组件的ID,允许在同一系统中区分不同的组件,如IMU和自动驾驶仪。
5 0 ~ 255 消息ID,定义有效载荷应如何解码
6(n+6) 0 ~ 255个字节 消息数据,取决于消息的ID
n+7 校验低字节
n+8 校验高字节 CRC-16、包括MAVLINK_CRC_EXTRA
校验步骤:
1、先校验前面五个字节,不包括帧头;
2、在校验有效数据;
3、在校验MAVLINK_CRC_EXTRA(MAVLINK_MESSAGE_CRCS[消息ID]),RC的为124
uint8_t MAVLINK_MESSAGE_CRCS[] = {50, 124, 137, 0, 237, 217, 104, 119, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 214, 159, 220, 168, 24, 23, 170, 144, 67, 115, 39, 246, 185, 104, 237, 244, 222, 212, 9, 254, 230, 28, 28, 132, 221, 232, 11, 153, 41, 39, 214, 223, 141, 33, 15, 3, 100, 24, 239, 238, 30, 240, 183, 130, 130, 118, 148, 21, 0, 243, 124, 0, 0, 0, 20, 0, 152, 143, 0, 0, 127, 106, 147, 211, 198, 0, 0, 0, 0, 231, 183, 63, 54, 0, 0, 0, 0, 0, 0, 0, 175, 102, 158, 208, 56, 93, 211, 108, 32, 185, 235, 93, 124, 124, 119, 4, 76, 128, 56, 116, 134, 237, 203, 250, 87, 203, 220, 25, 226, 0, 29, 223, 85, 6, 229, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 241, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 49, 170, 44, 83, 46, 0};