37℃画面感 发表于 2014-11-7 00:57:36

NRF24L01最简单测试

说明:完成连接线,后最基本的测试看是否连接正常。
1.连线方法
http://www.geeetech.com/wiki/images/d/dc/NRF24L01_table.jpg
http://www.geeetech.com/wiki/images/thumb/6/64/NRF24L01_pin.jpg/400px-NRF24L01_pin.jpg
IRQ口不接,连接这7根线就行。
注意:在UNO这么接测试没有问题。
但在mini pro接的时候有问题,线过测试加一个电源模块就行。
如果连接电源模块。就需要将VCC接到5V上

2.测试程序:
注意需要下载两个库文件 Mirf 和 RF24,
下载地址:http://playground.arduino.cc/InterfacingWithHardware/Nrf24L01

(1)接收端:接收srv02,并显示收到数据#include "SPI.h"      //24L01库文件
#include "Mirf.h"
#include "nRF24L01.h"
#include "MirfHardwareSpiDriver.h"
int data=1;
void setup(){
Serial.begin(9600);

Mirf.spi = &MirfHardwareSpi;//加载24L01SPI
Mirf.init();                                 //开始
Mirf.setTADDR((byte *)"srv02");//发送到"接收地址" srv02 这个东西要和发送端保持一致
Mirf.payload = sizeof(int);          //数据类型(整数)
Mirf.config();//发送通道??
}
void loop(){
if (Mirf.dataReady())
{
    Mirf.getData((byte *)&data);
    Serial.print("recevie data:");
    Serial.println(data);
    Mirf.rxFifoEmpty();
}
}(2)发送端: 产生一个数一直累加发送#include "SPI.h"                              //24L01库文件
#include "Mirf.h"
#include "nRF24L01.h"
#include "MirfHardwareSpiDriver.h"
int data=0;

void setup(){
Serial.begin(9600);
Mirf.spi = &MirfHardwareSpi;          //加载24L01SPI
Mirf.init();
Mirf.setRADDR((byte *)"srv02"); //接收地址" "
Mirf.payload = sizeof(int);            //数据类型(整数)
Mirf.config();
}
void loop(){
data++;
sendData();
delay(1000);
}
void sendData()
{
Mirf.send((byte *)&data);
while(Mirf.isSending())
{
}
Serial.print("send data");
Serial.println(data);
}接收端运行结果。数据应该是一致的,这个截图有差。

   

yanglang00 发表于 2014-11-14 08:42:41

大哥,谢谢,我试过了,可以通信,
但现在出现一问题,模块掉电后再上电,无法通信,可以发但接收端收不到

yanglang00 发表于 2014-11-14 11:58:24

大神求解:为什么模块掉电后重新上电就不能通讯了:'(

yanglang00 发表于 2014-11-14 13:40:16

需要配置吗?这两个NRF24L01

qq382314142 发表于 2014-11-14 14:38:42

有空要测试一下。。

victor_chn 发表于 2014-11-15 08:02:09

楼主是用了两个nRF24L01板子,一个用来发送,一个用来接收,是这样的吗?

37℃画面感 发表于 2014-11-18 17:25:53

yanglang00 发表于 2014-11-14 13:40 static/image/common/back.gif
需要配置吗?这两个NRF24L01

我也遇到这个问题,是地址设置不作用,你把地址设置写到loop里就可以了,不过我想还是要通讯的时候设置一下。

37℃画面感 发表于 2014-11-18 17:28:21

还有一个问题顺便记录下,地址最好成对设置,就是TX和Rx都设置

37℃画面感 发表于 2014-11-20 01:44:40

victor_chn 发表于 2014-11-15 08:02 static/image/common/back.gif
楼主是用了两个nRF24L01板子,一个用来发送,一个用来接收,是这样的吗?

是滴。。。。。。。。。

yanglang00 发表于 2014-12-1 14:43:07

37℃画面感 发表于 2014-11-18 17:25 static/image/common/back.gif
我也遇到这个问题,是地址设置不作用,你把地址设置写到loop里就可以了,不过我想还是要通讯的时候设置一 ...

谢谢,我马上去试试

ljl6445 发表于 2014-12-10 00:27:08

为何我的receive data一直在0和-1之间跳

spark128 发表于 2014-12-10 11:53:28

掉电后如何自己重新连接呢?程序很精简很好,但是掉电后如何设置地址,使其稳定呢?
lz辛苦啦,我也在研究,很想看你怎么解决这个问题的代码。

星空星辰 发表于 2014-12-11 13:25:04

为啥我的是这样

星空星辰 发表于 2014-12-11 13:25:57

接收到数据也很慢

dododidu 发表于 2014-12-12 13:45:40

星空星辰 发表于 2014-12-11 13:25 static/image/common/back.gif
接收到数据也很慢

nrf24 那个 你搞定了么 我跟你一样 也是 收到跟你一样的数据 而且也很慢
页: [1] 2
查看完整版本: NRF24L01最简单测试