xBee通信Arduino至Arduino
我的xBee S1 Pro模块有一个非常奇怪的问题。我使用XCTU软件来配置它们。我将一个Arduino设置为接收数据,另一个设置为传输数据。当我使用XCTU软件发送一些测试帧时,它工作了,接收器获取数据。但是如果我想让我的arduinos沟通,那就没用了。我假设模块配置正确,因为PC->Arduino可以工作。所以我会提供草图,这样你就可以告诉我出了什么问题 接受者xBee通信Arduino至Arduino,arduino,communication,xbee,zigbee,Arduino,Communication,Xbee,Zigbee,我的xBee S1 Pro模块有一个非常奇怪的问题。我使用XCTU软件来配置它们。我将一个Arduino设置为接收数据,另一个设置为传输数据。当我使用XCTU软件发送一些测试帧时,它工作了,接收器获取数据。但是如果我想让我的arduinos沟通,那就没用了。我假设模块配置正确,因为PC->Arduino可以工作。所以我会提供草图,这样你就可以告诉我出了什么问题 接受者 void setup() { pinMode(13, OUTPUT); Serial.begin(9600); } v
void setup()
{
pinMode(13, OUTPUT);
Serial.begin(9600);
}
void loop()
{
if(Serial.available() > 0){
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
Serial.print("recived some data: ");
Serial.println(Serial.read());
Serial.flush();
}
}
现在是发送者
void setup()
{
pinMode(13, OUTPUT);
Serial.begin(9600);
}
void loop()
{
Serial.println("data");
Serial.flush();
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(4000);
}
怎么了?有什么想法吗?您正在使用相同的串行端口与XBee和USB进行通信。这就是问题所在。您需要设置另一个串行端口,而不是用于与XBee通信的USB端口
如果您共享正在使用的arduino板和屏蔽,这将是一件好事。我将检查Xbee的连接,即确保RX实际连接到DOUT,TX连接到DIN。此外,如果您发送的是实际的“帧”,那么听起来像是在api模式下运行XBEE,因此您需要做更多的工作,然后只发送“数据”,您希望它在串行传递模式下运行
最后要检查的一件事是,如果您使用的是arduino Leonardo或Micro,则硬件串行端口是Serial1而不是Serial。因此,第一件事是首先。。。如果这些Xbee在不同的波特率下有不同的密码,狗屎就要发生了。还有,这些是什么命令模式(AT或API)?出厂默认设置?是否接受AT命令来更改这些?(默认情况下,您处于AT模式) 打开一个串行程序(我用于OSX)。确保这些步骤的设置正确
一旦你知道这些发射机正在以相同的波特率、密码等通话。。。在通过简单的串行读写将这些变送器连接到RX/TX引脚之前,确保已将代码上载到Arduinos 代码似乎是正确的,但请确保您要发送的内容。XBEE只能发送和接收8位数据。 首先发送一个已知字节的数据,如a=100;看看这些数据在那里接收是否完美