human2010 发表于 2013-10-21 15:51:29

maxims 发表于 2013-10-21 10:47 static/image/common/back.gif
leonardo作接收端,请用非中断方式!中断方式我估计引脚对不上或中断工作方式与uno不一样!
中断是引发了 ...

谢谢!我先试试!

human2010 发表于 2013-10-23 11:19:01

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:22:35

human2010 发表于 2013-10-23 11:19 static/image/common/back.gif
我用读取寄存器值得方式接收数据,怎么不能显示buf中的数据?
还望指点!



补充说明,通过串口能看到“Receiving the data!”和"Data -> ",这可以说明接收成功了,不知怎么就没数据?

human2010 发表于 2013-10-23 11:30:32

maxims 发表于 2013-10-21 10:47 static/image/common/back.gif
leonardo作接收端,请用非中断方式!中断方式我估计引脚对不上或中断工作方式与uno不一样!
中断是引发了 ...

根据您的提示,昨天再次用读寄存器值得方式,试了一下yxwzyyk提供的实例,能接收到信号,但数据丢失了。
还在努力中!!!(中断方式结果完全失败,MEGA2560中断0接口为2号引脚,LEONARDO为3号引脚,UNO为2号引脚)

nust_奔跑 发表于 2013-10-23 12:04:31

感谢楼主!

maxims 发表于 2013-10-23 22:24:10

本帖最后由 maxims 于 2013-10-23 22:27 编辑

human2010 发表于 2013-10-23 11:30 static/image/common/back.gif
根据您的提示,昨天再次用读寄存器值得方式,试了一下yxwzyyk提供的实例,能接收到信号,但数据丢失了。
...

刚才完整的进行了测试,Leonardo作为接收端,UNO作为发射端,是没有问题的。用的是楼主的代码

human2010 发表于 2013-10-23 22:54:00

maxims 发表于 2013-10-23 22:24 static/image/common/back.gif
刚才完整的进行了测试,Leonardo作为接收端,UNO作为发射端,是没有问题的。用的是楼主的代码

我刚试了显示结果

human2010 发表于 2013-10-23 22:56:03

MAGE2560做发射,2号引脚接IRQ
Leonardo做接收,3号引脚接IRQ
用的楼主原装程序

human2010 发表于 2013-10-23 22:56:57

我已经快无语了!悲剧啊!

maxims 发表于 2013-10-23 23:12:23

human2010 发表于 2013-10-23 22:56 static/image/common/back.gif
我已经快无语了!悲剧啊!

看样子是你的发送端有问题。
我短信你,细聊 看

vinsonxp 发表于 2013-11-6 00:42:22

请问接收端是Mega2560和发射端是pro mini的IRQ应该怎样接线,我现在是Mega2560接2和pro mini接2,接收端老是显示“Wait...",发射端老是显示"Sending..."   "Failed to send!".:'(

maxims 发表于 2013-11-6 16:27:13

vinsonxp 发表于 2013-11-6 00:42
请问接收端是Mega2560和发射端是pro mini的IRQ应该怎样接线,我现在是Mega2560接2和pro mini接2,接收端老是 ...

再去研究一下你的硬件的端口,是不是这么用的!

openmmoo 发表于 2013-12-5 19:53:40

测试通过,,但是只会传文本如a=abc,可以告诉我如何传数字吗如a=128

openmmoo 发表于 2013-12-9 19:38:15

为什么我传输2,3+个字符后就不动了呢

simatic_net 发表于 2013-12-11 13:37:37

我在uno上用nRF24L01需要占用8、9、10、11、12、13一共六个数字接口,其中还有9、10、11这三个PWM口。实现了通信以后我的uno接口被占去一半,只剩下三个pwm接口,我不够用呀,有什么办法能省下pwm接口吗?
页: 1 [2] 3
查看完整版本: nRF24L01软实现Spi,支持中断