我想用arduino leonardo的串口即0脚和1脚连接XBEE传输数据,并由电脑接收,请问应该怎么实现。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想用arduino leonardo的串口即0脚和1脚连接XBEE传输数据,并由电脑接收,请问应该怎么实现。相关的知识,希望对你有一定的参考价值。

附目前写arduino端的程序
void setup()

Serial.begin(9600);

void loop()

Serial.println("Hello world!");
delay(1000);

目前我用arduino直连xbee,经电脑测试Xbee之间可以正常通信,但是抛开电脑,单独接Arduino时就无数据传输,个人怀疑是Arduino程序写得有问题。
请高人解答,最好能详述如何连接,程序应该如何写,此问题困扰多时,如能解答不胜感激。

确实是程序的问题,arduino Leonardo的硬件串口(D0和D1),不同于Arduino UNO,对应的是Serial1,不是Serial。所以,你把程序中的Serial改成Serial1就可以了。
Arduino官方是这么解释的:
Note that on the Leonardo, the Serial class refers to USB (CDC) communication; for TTL serial on pins 0 and 1, use the Serial1 class.
参考:http://arduino.cc/en/Main/ArduinoBoardLeonardo
参考技术A 我给你写一个吧

arduino leonardo r3 和 arduino uno r3 有啥区别

Leonardo使用32U4的芯片,其本身带有USB接口,可以直接和计算机进行通信
uno使用328p的芯片,不带usb接口,而是依靠uno板上的16u2完成和计算机的通信
参考技术A Arduino Leonardo是Arduino团队最新推出的低成本Arduino控制器。它有20个数字输入输出口,7个PWM口以及12个模拟输入口。相比其它版本的Arduino使用独立的USB-Serial转换芯片,Leonardo创新的采用了单芯片解决方案。只用了一片Atmega32u4来实现USB通信以及控制。这种创新设计降低了Leonardo的成本。Atmega32u4的原生态支持USB特性还能让Leonardo模拟成鼠标和键盘,极大地提高了应用场合。使用Arduino Leonardo需要新版本的Arduino IDE1.01 以上版本。
Leonardo与UNO不同的是,它有2个串口(USB为COM0,D0\D1为COM1),所以插上Xbee后也不会影响程序的下载。通过直插Xbee模块,DFRobot的Leonardo具备了无线通讯的功能,这是其他Arduino控制器所不具备的。
相比原生的Leonardo,DFRobot的Leonardo板子特地引出了ISP和14~16数字口,充分利用Leonardo的资源。并且为了让用户在叠加拓展版后也能使用该端口,DFRobot特地添加了弯曲的排针设计。希望用户也能体会到他们的用心。
参考技术B 关注这个问题

以上是关于我想用arduino leonardo的串口即0脚和1脚连接XBEE传输数据,并由电脑接收,请问应该怎么实现。的主要内容,如果未能解决你的问题,请参考以下文章

arduino Leonardo 扩展板问题

arduino读取一个block值

如何控制arduino的一个引脚电压输出

Arduino通过串口输入控制板载灯闪烁次数

初学arduino应该买leonardo还是uno?请说明为啥。

arduino leonardo r3 和 arduino uno r3 有啥区别