xbee接收包64位地址错误?

Xbee recieve packet 64 bit address is wrong?

我正在使用 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。我错过了什么?

谢谢

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

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

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