极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 40163|回复: 27

NRF24L01最简单测试

[复制链接]
发表于 2014-11-7 00:57:36 | 显示全部楼层 |阅读模式
说明:完成连接线,后最基本的测试看是否连接正常。
1.连线方法


IRQ口不接,连接这7根线就行。
注意:在UNO这么接测试没有问题。
但在mini pro接的时候有问题,线过测试加一个电源模块就行。
如果连接电源模块。就需要将VCC接到5V上


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

(1)接收端:接收srv02,并显示收到数据
  1. #include "SPI.h"      //24L01库文件
  2. #include "Mirf.h"
  3. #include "nRF24L01.h"
  4. #include "MirfHardwareSpiDriver.h"
  5. int data=1;
  6. void setup(){
  7.   Serial.begin(9600);
  8.   
  9.   Mirf.spi = &MirfHardwareSpi;  //加载24L01  SPI
  10.   Mirf.init();                                 //开始
  11.   Mirf.setTADDR((byte *)"srv02");//发送到"接收地址" srv02 这个东西要和发送端保持一致
  12.   Mirf.payload = sizeof(int);          //数据类型(整数)
  13.   Mirf.config();  //发送通道??
  14. }
  15. void loop(){
  16.   if (Mirf.dataReady())
  17.   {
  18.     Mirf.getData((byte *)&data);
  19.     Serial.print("recevie data:");
  20.     Serial.println(data);
  21.     Mirf.rxFifoEmpty();
  22.   }
  23. }
复制代码
(2)发送端: 产生一个数一直累加发送
  1. #include "SPI.h"                              //24L01库文件
  2. #include "Mirf.h"
  3. #include "nRF24L01.h"
  4. #include "MirfHardwareSpiDriver.h"
  5. int data=0;

  6. void setup(){
  7.   Serial.begin(9600);
  8.   Mirf.spi = &MirfHardwareSpi;          //加载24L01  SPI
  9.   Mirf.init();
  10.   Mirf.setRADDR((byte *)"srv02"); //接收地址" "
  11.   Mirf.payload = sizeof(int);            //数据类型(整数)
  12.   Mirf.config();
  13. }
  14. void loop(){
  15.   data++;
  16.   sendData();
  17.   delay(1000);
  18. }
  19. void sendData()
  20. {
  21.   Mirf.send((byte *)&data);
  22.   while(Mirf.isSending())
  23.   {
  24.   }
  25.   Serial.print("send data");
  26.   Serial.println(data);
  27. }
复制代码
接收端运行结果。数据应该是一致的,这个截图有差。

   

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2014-11-14 08:42:41 | 显示全部楼层
大哥,谢谢,我试过了,可以通信,
但现在出现一问题,模块掉电后再上电,无法通信,可以发但接收端收不到
回复 支持 反对

使用道具 举报

发表于 2014-11-14 11:58:24 | 显示全部楼层
大神求解:为什么模块掉电后重新上电就不能通讯了
回复 支持 反对

使用道具 举报

发表于 2014-11-14 13:40:16 | 显示全部楼层
需要配置吗?这两个NRF24L01
回复 支持 反对

使用道具 举报

发表于 2014-11-14 14:38:42 | 显示全部楼层
有空要测试一下。。
回复 支持 反对

使用道具 举报

发表于 2014-11-15 08:02:09 | 显示全部楼层
楼主是用了两个nRF24L01板子,一个用来发送,一个用来接收,是这样的吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-18 17:25:53 | 显示全部楼层
yanglang00 发表于 2014-11-14 13:40
需要配置吗?这两个NRF24L01

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

使用道具 举报

 楼主| 发表于 2014-11-18 17:28:21 | 显示全部楼层
还有一个问题顺便记录下,地址最好成对设置,就是TX和Rx都设置
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-20 01:44:40 | 显示全部楼层
victor_chn 发表于 2014-11-15 08:02
楼主是用了两个nRF24L01板子,一个用来发送,一个用来接收,是这样的吗?

是滴。。。。。。。。。
回复 支持 反对

使用道具 举报

发表于 2014-12-1 14:43:07 | 显示全部楼层
37℃画面感 发表于 2014-11-18 17:25
我也遇到这个问题,是地址设置不作用,你把地址设置写到loop里就可以了,不过我想还是要通讯的时候设置一 ...

谢谢,我马上去试试
回复 支持 反对

使用道具 举报

发表于 2014-12-10 00:27:08 | 显示全部楼层
为何我的receive data一直在0和-1之间跳
回复 支持 反对

使用道具 举报

发表于 2014-12-10 11:53:28 | 显示全部楼层
掉电后如何自己重新连接呢?程序很精简很好,但是掉电后如何设置地址,使其稳定呢?
lz辛苦啦,我也在研究,很想看你怎么解决这个问题的代码。
回复 支持 反对

使用道具 举报

发表于 2014-12-11 13:25:04 | 显示全部楼层
为啥我的是这样

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-12-11 13:25:57 | 显示全部楼层
接收到数据也很慢
回复 支持 反对

使用道具 举报

发表于 2014-12-12 13:45:40 | 显示全部楼层
星空星辰 发表于 2014-12-11 13:25
接收到数据也很慢

nrf24 那个 你搞定了么 我跟你一样 也是 收到跟你一样的数据 而且也很慢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-29 13:15 , Processed in 0.058837 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表