C# 如何从Arduino Xbee发送数据并从C接收数据#
我有一个Arduino XBee和一个Sparkfun XBee USB浏览器。我想发送来自Ardunio XBee的数据(温度传感器),并在我的C#程序中接收 现在,让我们假设我想发送45100到我的C#计划 我没有收到来自XBee盾的任何数据。我是不是遗漏了密码 以下代码是Arduino XBee屏蔽的发送者:C# 如何从Arduino Xbee发送数据并从C接收数据#,c#,arduino,port,xbee,C#,Arduino,Port,Xbee,我有一个Arduino XBee和一个Sparkfun XBee USB浏览器。我想发送来自Ardunio XBee的数据(温度传感器),并在我的C#程序中接收 现在,让我们假设我想发送45100到我的C#计划 我没有收到来自XBee盾的任何数据。我是不是遗漏了密码 以下代码是Arduino XBee屏蔽的发送者: SoftwareSerial mySerial(4,5); void setup() { mySerial.begin(9600); } void loop() {
SoftwareSerial mySerial(4,5);
void setup()
{
mySerial.begin(9600);
}
void loop()
{
if (mySerial.available() > 0)
{
mySerial.write(45);
mySerial.write(',');
mySerial.write(100);
mySerial.write('\n');
}
}
C#中USB XBee浏览器的接收器代码:
XBee配置:
- 一个XBee是:模式下的协调器——连接到USB Sparkfun浏览器
- 另一个XBee是:路由器处于模式——连接到Arduino屏蔽
正如tomlogic在堆栈溢出问题中回答了我的问题 您的XBee护盾使用Arduino上的针脚0和1。不需要Softwareserial,只需使用:
Serial.begin(9600); // In void setup() routine
要发送温度,请在功能循环中使用此选项:
Serial.print(temperature); // Need a variable 'temperature' of course...
使用Arduino IDE中的内置终端测试Arduino代码,以查看端口是否确实可以接收和发送(首先移除XBee屏蔽)。工作完成后,测试XBee通信。我让它工作了。问题来自我的void loop()方法。我的家族应该是这样的
mySerial.println(temperature);
- 但是,您必须检查我的串行Rx、Tx pin码是否正确
注意:我尝试了mySerial.print()方法,但仍然无法接收。是否可以从测试设置中删除XBee模块,只使用有线串行连接来验证串行代码是否正常工作?您还可以将一个(或两个)XBee模块连接到PC上的X-CTU,并验证它们是否连接到同一网络并来回传递数据。尝试找出问题的可能原因,以便集中精力进行故障排除。
mySerial.println(temperature);