xbee的使用
本帖最后由 灰太狼大王 于 2011-12-14 13:18 编辑在serial monitor端输入1,led灯亮;输入0,led灯灭。代码如下
int ledPin = 10;
int val;
void setup()
{
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop()
{
val = Serial.read();
if ('1' == val)
{
digitalWrite(ledPin, HIGH);
}
else if('0' == val)
{
digitalWrite(ledPin, LOW);
}
}
这种最简单的代码运行正确。
然后,我在arduino控制板上插了一个xbee扩展板,再插上xbee,把led灯与xbee扩展板连接,电路,物理上是通的,因为在
void loop()里面只写digitalWrite(ledPin, HIGH);这句的话,灯是亮的。但是
val = Serial.read();
if ('1' == val)
{
digitalWrite(ledPin, HIGH);
}
else if('0' == val)
{
digitalWrite(ledPin, LOW);
}
这么写的话就不能控制灯的开关了,问题就在于:好像val = Serial.read();这个就读不到输入的数据了(好像得到-1)。
问题1:插上xbee的情况下,电脑怎么与arduino通讯呢?
问题2:arduino ide可以调试么?
多谢指点。 1:请描述一下arduino型号,以及和xbee的接口方式
2:一般通过向串口发送调试数据的方法来调试。 本帖最后由 灰太狼大王 于 2011-12-14 17:12 编辑
这样的连接方式:
xbee--xbee扩展板--arduino控制器
有两套(A和B)。
工作时,用
Serial.print()
Serial.read()
这两套之间就可以通讯,这个没有问题。
问题:
我想通过电脑端发送指令给A,再由A传给B,这时,A的连接方式就变成
xbee--xbee扩展板--arduino控制器--usb线--电脑
对吧。
A不插xbee之前,我们都是用Serial.read()来读取电脑serial monitor端的输入,对吧,但A插上xbee之后,Serial.read()得到的值都为-1了(好像表示读取不到),问题出来了:插上xbee后,电脑怎么与arduino通讯呢?
arduino控制器 Duemilanove 和 uno.
连接图如下:
本帖最后由 灰太狼大王 于 2011-12-14 18:56 编辑
看到:XBee模块会占用串口
不知道是不是这个原因。
不可能xbee只能与xbee通信吧?实际应用中总需要与电脑通信啊。 本帖最后由 灰太狼大王 于 2011-12-14 19:18 编辑
我把A换成:xbee与xbee适配器与电脑相连,通过xctu测试,可以通过电脑发送信息到xbee,并接收xbee收到的信息。
恩,xbee适配器的作用我还没弄懂,我以前以为它只是配置xbee而已。现在看来,如果要与电脑通信的话,xbee适配器是必须的 问题出来了,用XCTU的Terminal 可以发送接收信息经适配器到xbee,实际应用,肯定要自己写代码,怎么弄呢? 本帖最后由 灰太狼大王 于 2011-12-15 10:17 编辑
问题解决很简单:
MsVC中是:
String^ portName;
portName = “COM7”;
int baudRate=9600;
SerialPort^ arduino;
arduino = gcnew SerialPort(portName, baudRate);
arduino->WriteLine("A");//A就是你要发送的信息。
问题没完。电脑端怎么接收信息呢?
do
{
String^ message = arduino->ReadLine();
Console::WriteLine( "Received: " + message);
}while(true);
这段代码怎么接收不到arduino端返回来的信息? 用ReadByte()就可以得到返回的信息了。前面用ReadLine好像是什么阻塞式,得不到会假死。串口编程还得学习一下。结贴。 {:soso_e100:}请问一下怎么将程序下载到XBee呢? 请教一下,你是通过XCTU把数据写到xbee,然后到另一个xbee接受再用COM显示吗?还是反过来;
顺便再问一下,xbee,你是如何配置的;都是coordinator AT模式,还是coordinator API模式 请教一下,你是通过XCTU把数据写到xbee,然后到另一个xbee接受再用COM显示吗?还是反过来;
顺便再问一下,xbee,你是如何配置的;都是coordinator AT模式,还是coordinator API模式 请教一下,你是通过XCTU把数据写到xbee,然后到另一个xbee接受再用COM显示吗?还是反过来;
顺便再问一下,xbee,你是如何配置的;都是coordinator AT模式,还是coordinator API模式 xbee使用xctu或者AT指令进行配置 这将的是两个Xbee之间通讯,能帮助你吗
http://v.youku.com/v_show/id_XNzEzMjk2OTgw.html
页:
[1]
2