我有两个 Arduino 和两个 XBee 模块。这些模块直接安装在 Arduino 板上。一个 Arduino 正在发送信息,另一个 Arduino 正在接收信息,同时收听来自它所连接的计算机的命令。我只是通过串口运行 XBee 代码,它运行正常。
void setup()
{
Serial.begin(9600);
}
void loop()
{
byte x = Serial.read();
if (x != 255)
Serial.println(x);
}
但是,如果将代码更改为
#include <SoftwareSerial.h>
SoftwareSerial xbee(2,3);
并将 Serial 更改为 XBee 然后一切都不起作用。我不知道为什么。因为我应该避免使用串行,因为串行端口正在与我计算机上的 C 代码通信。所以我愿意使用另一个端口通过 XBee 进行监听。Rx/Tx 上可能存在一些 I/O 端口冲突,但我的 Arduino 没有连接到除 XBee 之外的任何其他设备。
设置是这样的:
| XBee| <<------------>> XBee
Arduino |||||||||||||||||| Arduino <<--------->> 计算机 C
我该如何使用SoftwareSerial
?