Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从Arduino Xbee发送数据并从C接收数据#_C#_Arduino_Port_Xbee - Fatal编程技术网

C# 如何从Arduino Xbee发送数据并从C接收数据#

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() {

我有一个Arduino XBee和一个Sparkfun XBee USB浏览器。我想发送来自Ardunio XBee的数据(温度传感器),并在我的C#程序中接收

现在,让我们假设我想发送45100到我的C#计划

我没有收到来自XBee盾的任何数据。我是不是遗漏了密码

以下代码是Arduino XBee屏蔽的发送者:

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);