1

我正试图让一个 Xbee 与另一个 Xbee 交谈。我知道我可以用来putc向网络上的所有 Xbee 广播,但我想专门针对一个。我知道我需要使用 XBee 上的硬件地址来执行此操作,并使用称为 AT 命令模式的东西,但我认为我不明白。例如,我已经看到要进入 AT 命令模式,我需要发送“+++”,但是,我不明白该怎么做。我试过这个:

xbee.printf('+++');

但不知道在哪里寻找某种消息作为回应。

我不了解这种模式,似乎找不到任何可以为我的情况或相关情况提供示例的内容。

我在 FRDM-K64F 上使用普通 Xbee。

4

1 回答 1

1

解决了。

为此,您首先需要执行以下操作:

xbee.printf("xxx");

这将使您进入 AT 命令模式,然后您可以运行 AT 命令。您需要在进入 AT 命令模式之前和之后等待至少 1 秒才能使其工作:

wait(1)

要发送到特定的 Xbee,您需要它的 16 位地址,这可以从 Xbee 的底部找到(尽管有一个 AT 命令来获取它)。前 8 位是 Xbee 的高地址(所有 Xbee 都相同),第二个是低地址,您需要使用 AT 命令设置这两个地址,然后才能发送到特定的 Xbee 才能工作。要设置这些,您必须执行以下操作:

xbee.printf("atdh 0013A200\n\r");
xbee.printf("atdl 12345678\n\r");

您必须执行该\n\r部分,因为这会模拟实际运行命令所需的 Enter 按钮按下。

atdh 命令设置高地址,atdl 命令设置低地址。完成此操作后,您的发送 Xbee 将被配置为发送到特定的 Xbee,并且不会向网络上的所有人广播。所以当你现在这样做时:

xbee.putc('Y');

它将转到您设置的地址的 Xbee。

运行这些命令后,您可能需要等待 10 秒,因为我认为 I/O 不能在 AT 命令模式下工作(我还没有弄清楚如何退出 AT 命令模式,但会在我这样做时更新)。

于 2015-12-15T13:15:21.460 回答