Xbee接收包64位地址是错误的?

时间:2015-05-26 22:24:52

标签: arduino xbee

我使用XCTU测试发送数据包。我的xbee无线电被配置为协调器API-2(产品系列XB24-ZB,固件版本21A7,MAC地址0013A20040BCE8CB)。我发送以下发送请求帧字节:

  

7E 00 12 10 01 00 00 00 00 00 00 00 00 FF FE 00 00 01 02 03 04 E7

接收数据包帧在帧详细信息面板中具有以下字节:

  

7E 00 10 90 00 7D 33 A2 00 40 BC E8 CB 00 00 01 01 02 03 04 00

我的问题是粗体文本中的字节(发件人的64位地址)。

正如我所理解的那样,正确的字节应该是:

  

00 13 A2 00 40 BC E8 CB

我收到字节时的校验和是错误的(0x9C)。

但是,如果我替换正确的字节(即,我将 00 7D 33 替换为 00 13 ,则校验和值正确(0xFF)。

我也在我的Arduino代码中看到了这种行为。我以为是我,但我在XCTU应用程序中得到了完全相同的行为(以及在C#项目中)。 (具体来说,64位地址总是有00 7D 33,我期待00 13.我缺少什么?

感谢名单

1 个答案:

答案 0 :(得分:0)

您的XBee模块配置为转义API模式(ATAP=2),它将字节0x7D,0x7E,0x11和0x13替换为0x7D,并将转义字符XORed替换为0x20。

设置ATAP=1,您将开始看到预期的字节。

Digi有一个很好的Knowledge Base document explaining the escaped mode

相关问题