我有2个Xbees Series 1,每个都通过Xbee Shield连接到Arduino Uno,并且都连接到PC。两个Xbee均已配置,并且在XCTU上具有相同的Channel和PAN ID,并且两个Xbee均处于API 2模式。
如何让他们彼此交谈以在串行监视器上显示RSSI读数?我一直在尝试这些发件人-收件人代码: 发件人代码:
#include <XBee.h>
XBee xbee = XBee();
uint8_t payload[] = { 'H', 'i' };
XBeeAddress64 addr64 = XBeeAddress64(0x0013a200, 0x403e0f30);
Tx16Request tx16 = Tx16Request(addr64, payload, sizeof(payload));
void setup()
{
xbee.begin(9600);
}
void loop()
{
xbee.send( tx16 );
delay(50);
}
接收方代码:
#include <XBee.h>
XBee xbee = XBee();
Rx16Response rx16 = Rx16Response();
void setup()
{
xbee.begin(9600);
Serial.begin(9600);
}
void loop()
{
xbee.readPacket(100);
if (xbee.getResponse().isAvailable())
{
if (xbee.getResponse().getApiId() == RX_16_RESPONSE)
{
xbee.getResponse().getRx16Response(rx16);
Serial.print( rx16.getRssi() );
}
}
}
但是尝试上载以下任一代码时,我得到了这个奇怪的错误消息:no matching function for call to 'XBee::begin(int)'
此外,我是否从XCTU或正在发送的Arduino的IDE发送消息? ...我是Xbee和Arduino的新手。
任何帮助将不胜感激。
预先感谢
此致