maxims 发表于 2013-10-21 10:47 static/image/common/back.gif
leonardo作接收端,请用非中断方式!中断方式我估计引脚对不上或中断工作方式与uno不一样!
中断是引发了 ...
谢谢!我先试试!
yxwzyyk 发表于 2013-10-15 07:10 static/image/common/back.gif
不是必须,可以不使用中断,需要的时候调用dataready()检测是否有数据到来就可以了,中断只是方便点我写 ...
我用读取寄存器值得方式接收数据,怎么不能显示buf中的数据?
还望指点!
#include "NRF24L01.h"
#define RX_NAME"32899"
/* 声明nRF24L01 */
nRF24L01 nrf24;
/* 建立接收数据缓存,初始化为0 */
char buf;
void setup()
{
Serial.begin(9600);
nrf24.init();
nrf24.payload = 1;
nrf24.setRADDR(RX_NAME);
nrf24.config();
/* 设定中断 */
// attachInterrupt(0, readData, LOW) ;
}
void loop()
{
// Serial.println("Wait...");
// delay(1000);
// Serial.println("Interrupt!");
if(nrf24.dataReady())//确认接收
{
Serial.println("Receiving the data!");
nrf24.getData(&buf);//接收数据
Serial.print("Data -> ");
Serial.print(buf);
Serial.println(" ");
}
else
{
Serial.println("NULL!");
}
}
/*void readData (void) {
Serial.println("Interrupt!");
if(nrf24.dataReady()){
Serial.println("Receiving the data!");
nrf24.getData(&buf);
Serial.print("Data -> ");
Serial.print(buf);
Serial.println(" ");
} else {
Serial.println("NULL!");
}
}*/
human2010 发表于 2013-10-23 11:19 static/image/common/back.gif
我用读取寄存器值得方式接收数据,怎么不能显示buf中的数据?
还望指点!
补充说明,通过串口能看到“Receiving the data!”和"Data -> ",这可以说明接收成功了,不知怎么就没数据?
maxims 发表于 2013-10-21 10:47 static/image/common/back.gif
leonardo作接收端,请用非中断方式!中断方式我估计引脚对不上或中断工作方式与uno不一样!
中断是引发了 ...
根据您的提示,昨天再次用读寄存器值得方式,试了一下yxwzyyk提供的实例,能接收到信号,但数据丢失了。
还在努力中!!!(中断方式结果完全失败,MEGA2560中断0接口为2号引脚,LEONARDO为3号引脚,UNO为2号引脚)
感谢楼主!
本帖最后由 maxims 于 2013-10-23 22:27 编辑
human2010 发表于 2013-10-23 11:30 static/image/common/back.gif
根据您的提示,昨天再次用读寄存器值得方式,试了一下yxwzyyk提供的实例,能接收到信号,但数据丢失了。
...
刚才完整的进行了测试,Leonardo作为接收端,UNO作为发射端,是没有问题的。用的是楼主的代码
maxims 发表于 2013-10-23 22:24 static/image/common/back.gif
刚才完整的进行了测试,Leonardo作为接收端,UNO作为发射端,是没有问题的。用的是楼主的代码
我刚试了显示结果
MAGE2560做发射,2号引脚接IRQ
Leonardo做接收,3号引脚接IRQ
用的楼主原装程序
我已经快无语了!悲剧啊!
human2010 发表于 2013-10-23 22:56 static/image/common/back.gif
我已经快无语了!悲剧啊!
看样子是你的发送端有问题。
我短信你,细聊 看
请问接收端是Mega2560和发射端是pro mini的IRQ应该怎样接线,我现在是Mega2560接2和pro mini接2,接收端老是显示“Wait...",发射端老是显示"Sending..." "Failed to send!".:'(
vinsonxp 发表于 2013-11-6 00:42
请问接收端是Mega2560和发射端是pro mini的IRQ应该怎样接线,我现在是Mega2560接2和pro mini接2,接收端老是 ...
再去研究一下你的硬件的端口,是不是这么用的!
测试通过,,但是只会传文本如a=abc,可以告诉我如何传数字吗如a=128
为什么我传输2,3+个字符后就不动了呢
我在uno上用nRF24L01需要占用8、9、10、11、12、13一共六个数字接口,其中还有9、10、11这三个PWM口。实现了通信以后我的uno接口被占去一半,只剩下三个pwm接口,我不够用呀,有什么办法能省下pwm接口吗?