AT模式下XBee模块校验和计算方法技术咨询
XBee API模式校验和计算方法
你捕获的带0x7E起始符的帧属于XBee的API模式帧结构(AT模式默认是透明传输,无此类帧头),以下是标准校验和计算规则:
标准计算步骤
- 确定参与计算的字节:跳过帧起始符
0x7E和长度字段(起始符后的前两个字节),取从帧类型字段到校验和字段前一个字节的所有内容。 - 求和取低8位:将这些字节相加,只保留结果的低8位(即对
0x100取模)。 - 计算校验和:校验和 =
(0x100 - 上述总和) % 0x100,等价于取总和的8位补码。 - 验证规则:参与计算的字节总和 + 校验和,结果的低8位必须为
0x00。
你的计算无效的原因
你提供的帧明显不完整:
- 例如第三帧
0x7e 0x01 0x14 0x36 0x00 0x5a 0x52,起始符后的长度字段是0x01 0x14(十进制276),意味着从帧类型到校验和前的字节数应为276,但你只提供了后续4个字节,缺失了大部分数据,导致用现有字节计算的结果无法匹配校验和。
正确验证方法
- 捕获完整的API帧(长度字段的数值需与后续数据字节数严格匹配)。
- 按照上述步骤提取参与计算的字节,求和后计算补码,对比帧的最后一个字节是否一致。
内容的提问来源于stack exchange,提问作者Sumedha Roshan
相关产品推荐
相关产品推荐

