1、模块电路图:
  • CE:     模块控制线,CSN为低时,CE协同CONFIG寄存器共同决定NRF24L01状态
  • CSN:  SPI片选线
  • SCK:   SPI时钟线
  • MOSI:SPI数据线(主机输出从机输入)
  • MISO:SPI数据线(主机输入从机输出)
  • IRQ:   中断信号线。中断时变为低电平,在以下三种情况变低:Tx FIFO发完并且收到ACK(使能ACK情况下)、Rx FIFO收到数据、达到最大重发次数
2、SPI读写时序

空闲状态SCK为0,CPOL=0;数据在时钟第一个跳变沿采集,CPHA=0;

  • Cn:SPI命令位
  • Sn:STATUS寄存器位
  • Dn:数据位(MSB,多字节传输时,低字节在前)

3、工作模式

NRF24L01工作模式,由CE和CONFIG寄存器(0x00)的PWR_UP(第1位)和PRIM_RX(第0位)共同控制:

NRF24L01工作模式  PWR_UP位状态  PRIM_RX位状态  CE引脚电平  FIFO寄存器状态
接收模式 1 1 1 -
发送模式 1 0 1  数据在TX FIFO寄存器中
发送模式 1 0 1 ----> 0  停留在发送模式,直至发送完   
待机模式II 1 0 1  TX FIFO为空
待机模式I 1 - 0  无数据传输
掉电模式 0 - - -
1)收发模式
       收发模式有Enhanced ShockBurstTM收发模式、ShockBurstTM收发模式和直接模式三种,收发模式由器件配置字决定。
  • Enhanced ShockBurstTM收发模式

发送数据时,自动加上字头和CRC校验码, 在发送模式下,置CE为高,至少10us,将使能发送过程;接收数据时,自动把字头和CRC校验码移去。
       在 接收端,确认收到数据后记录地址,并以此地址为目标地址发送应答信号。在 发送端,通道0被用作接收应答信号,故 通道0的接收地址与发送地址端地址相等,以确保接收到正确应答信号。

Enhanced ShockBurstTM发送流程:

A. 把地址和要发送的数据按时序送入NRF24L01;
       B. 配置CONFIG寄存器,使之进入发送模式;    
       C. MCU把CE置高(至少10us),激发Enhanced ShockBurstTM发射
       D. Enhanced ShockBurstTM发射:a)给射频前端供电;
                                                                b)射频数据打包(加字头、CRC校验码);
                                                                c)高速发射数据包;
                                                                d)发射完成,NRF24L01进入空闲状态

Enhanced ShockBurstTM接收流程:

A. 配置接收地址和要接收的数据包大小;
       B. 配置CONFIG寄存器,使之进入接收模式,把CE置高;
       C. 130us后,NRF24L01进入监视状态,等待数据包的到来;
       D. 当接收到正确的数据包(正确的地址和CRC校验码),NRF24L01自动移去字头、地址和CRC校验位
       E. NRF24L01通过把STATUS寄存器的RX_DR置位(STATUS一般引起MCU中断)通知MCU;
       F. MCU把数据从FIFO读出(0x61指令);
       G. 所有数据读取完毕后,可清除STATUS寄存器;NRF24L01可以进入四中主要的模式之一。

4、SPI指令

常用SPI指令
指令名称  指令格式  操作
R_REGISTER 000A AAAA  读寄存器。AAAAA为要读取的寄存器地址
W_REGISTER 001A AAAA  写寄存器。AAAAA为要写入的寄存器地址
R__RX_PAYLOAD 0110 0001

读 RX 有效数据,1-32字节。  读操作从字节0开始,当读RX有效数

据完成后,FIFO寄存器中的使有效数据将被清除。接收模式下用。

W_TX_PAYLOAD 1010 0000  写TX有效数据,1-32字节。写操作从0字节开始,发送模式下用。
FLUSH_TX 1110 0001  清除TX FIFO寄存器。发送模式下用
FLUSH_RX 1110 0010  清除RX FIFO寄存器。接收模式下用

NRF24L01模块使用(老干妈笔记)相关推荐

  1. 开源自制6通道航模遥控器,Arduino Pro Mini NRF24L01模块

    前言 前段时间跟着LOLI大神的教程制作了LOLI三代控,效果很好.但是,由于LOLI三代控的接收机带有数据回传功能,也就是接收机的无线模块也承担了发射数据功能,所以接收机也要使用带有功率放大芯片的N ...

  2. 【STM32】NRF24L01模块的收发调试

    NRF24L01 发送端.c文件 发送端.h文件 接收端.c文件 接收端.h文件 接收端main函数 总结: 这里我是用了两块板子来做通信实验,这里我就直接贴发送端和接收端的.c.h文件,一个是用标准 ...

  3. NRF24L01模块实现一发一收和多发一收

    折腾了两天还是弄出来了.什么24L01介绍就不要了,淘宝资料一堆. 使用的单片机型号是STMF103ZET6.还是简单介绍几点: 1.硬件连接 如图标记右下角是1脚 CE:模式控制线 CSN:SPI片 ...

  4. NRF24L01+模块实现双向通信(带ACK payload)

    本文主要关于NRF24L01+ 2.4GHz无线模块的应用. 目录 说明 模块开发的大致步骤 使用方式 一.单向通信 二.双向通信(有应答包(ACK payload)) 寄存器配置 三.星状组网 注意 ...

  5. 基于2.4GHz射频NRF24L01模块的智能家居项目总结

    1.      经过陆陆续续的几个双休日和考试周里的空闲时间里的编写和调试,终于于2015/12/26今天晚上大体完成了智能家居的调试工作!总算是没有半途而废,耐心也受到挑战. 2.      几个比 ...

  6. 【STM32CubeMX】NRF24L01模块实现“1对1“及“1对多“无线通信

      大家好,我是小政.本篇文章我将针对NRF24L01模块实现"1对1"及"1对多"无线通信的STM32CubeMX配置过程进行详细的讲解,让准备学习HAL库的 ...

  7. 51驱动NRF24L01通信,NRF24L01与TTL转NRF24L01模块通信

    51驱动NRF24L01通信,NRF24L01与TTL转NRF24L01模块通信 NRF24L01 一.简介 二.引脚功能描述 程序设计 一.对 24L01 的程序编程的基本思路如下: 二.Tx 与 ...

  8. 基于STM32F1与NRF24L01模块的SPI简单通信

    一.前言 1.简介: 本文是基于STM32F1,将数据发送至NRF模块的寄存器,并将数据重新读取,通过串口发送出来的简单SPI单通信. 2.SPI简介: 调过STM8的都已经对SPI有所了解,调法都一 ...

  9. NRF24L01模块多发一收通信(STM32)

    NRF24L01模块多发一收通信(STM32) 目录 NRF24L01模块多发一收通信(STM32) 前言 一.解决思路 二.实验过程 1.设备ID号定义 2.数据打包发送 3.数据接收拆解 总结 前 ...

  10. arduino笔记32:nRF24l01模块使用 电磁波频率 距离限制 掉电模式 热待机模式

    最近再arduino中文社区看到了一篇介绍nrf24l01基本原理的帖子,内容感觉蛮不错的,学习一下,记录一下学习笔记. 大部分内容都是Arduino中文社区的帖子,附上自己的一点点体会. 目录 一. ...

最新文章

  1. 实战!工作中常用到哪些设计模式
  2. 颜色,形状,纹理特征
  3. “进度条”博客——第十六周
  4. web安全_皮卡丘_csrf
  5. Failed to get response from /vue-cli-version-marker
  6. Python 进阶之路 (十) 再立Flag, 社区最全的itertools深度解析(中)
  7. 【转】我们今年二十三四岁。。。
  8. python列表生成多个号码_python遍历多个列表生成列表或字典
  9. LeetCode 1673. 找出最具竞争力的子序列(单调栈)
  10. paip.输入法编程---带ord gudin去重复-
  11. Nexus3 功能介绍
  12. js调用Bartender
  13. 市场战略再升级 解析融云的生态平台+纵深发展
  14. 使用 Excel 中的函数准确计算周岁年龄
  15. unixprocess+java+186_interproscan 的使用和遇到的问题
  16. 【百度大脑新品体验】人脸面部动作识别
  17. MKOnlinePlayer在线音乐播放器
  18. openssh卸载了怎么连接linux,源码安装的openssh肿么卸载
  19. 如何将html转成PDF文件
  20. css3实现旋转魔方

热门文章

  1. 1-7华为HCNA认证eNSP基础B
  2. 字节、十六进制字符串相互转换(asc2hex、hex2asc)
  3. SAP 软件PS 模块系统操作之一工作分解结构(WBS)的创建
  4. 遇到数学问题《深度学习》“花书”读不下去了吗?给你支个招
  5. 积极响应号召,ModStart支持用户主动注销账号功能
  6. JAVA框架常用端口
  7. 标准HTML代码框架解析
  8. 使用ffmpeg下载m3u8流媒体
  9. 电容或电感的电压_低成本电容电感测量电路
  10. 微信扫一扫门禁开门小程序开发制作