解决了。
为此,您首先需要执行以下操作:
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 命令模式,但会在我这样做时更新)。