试图通过XBee Arduino发送INT

时间:2015-03-17 10:08:01

标签: arduino xbee

我试图简单地通过Xbee&发送“1”或“2”。 Arduino的。我的Arduino TX是Serial.print成功的“1”或“2”,但RX没有收到相同的。

TX:

void buttonBring()
{
  delay(75);tone(speakerpin,660,300);
  delay(75);tone(speakerpin,330,300);
  digitalWrite(ledpin, HIGH);
  //Serial.println("Button B is Ringing");
  Serial.write("2");
  delay(600);

}

RX:收到的值是

126
0
6
129
0
0
44
2
50
30

RX代码:

void loop() {
  if (xBee.available()) {
    byte bell = xBee.read();
    Serial.println(bell, DEC);
  }

我想收到1或2甚至A或B,以便接收方可以做出决定或使用交换机案例,但rx需要是或不是格式。我怎么搞砸了?

1 个答案:

答案 0 :(得分:0)

接收XBee配置为API模式而不是" AT模式",并且您正在查看接收数据的0x81数据包。 126(0x7E)是帧的开始,6是长度,129是类型(0x81),双零是发送地址(0x0000 =协调器)。我不确定44(0x2C)或2(0x02),因为我没有方便的帧格式,但有效载荷为50(0x32或字符' 2')看起来不错。 30是帧的校验和。

如果您想更多地探索API模式,请阅读Digi的XBee文档,了解有关帧格式的详细信息。如果你只是使用两个无线电," AT模式"会更容易使用。就好像你只需要连接这两个设备的串行电缆一样。