我想让一个Xbee与另一个人交谈。我知道我可以使用putc
向网络上的所有Xbees广播,但我想专门针对一个。我知道我需要使用XBee上的硬件地址来执行此操作,并使用称为AT命令模式的东西,但我不认为我理解它。例如,我已经看到,为了进入AT命令模式,我需要发送' +++'但是,我不知道该怎么做。我试过这个:
xbee.printf('+++');
但不知道在哪里寻找某种消息作为回应。
我不明白这种模式,似乎无法找到任何可以为我的情况或相关情况提供示例的内容。
我在FRDM-K64F上使用普通的Xbee。
答案 0 :(得分:1)
完成了工作。
要做到这一点,首先需要做:
xbee.printf("xxx");
这将使您进入AT命令模式,然后您可以运行AT命令。在进入AT命令模式之前和之后,您需要等待至少1秒才能使其工作:
wait(1)
要发送到特定的Xbee,您需要它的16位地址,这可以从Xbee的底部找到(尽管有一个AT命令可以得到它)。前8位是Xbee的高地址(这对所有Xbees都是一样的),第二个是低地址,你需要在发送到特定的Xbee之前使用AT命令设置这两个地址。要设置这些,您必须执行以下操作:
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命令模式,但是当我这样做时会更新)。