前言
最近野火STM32论坛(www.firebbs.cn)发起了一个开源平衡车的项目,于是就跟着大家一起动手做起了开源平衡车,其中就用到了2.4G NRF24L01无线模块。通过对NRF24L01中英文手册的参考,对其做如下总结,将主要的知识点以博客的形式呈现出来。如果想要对NRF24L01进行更深入的理解,还请以中英文手册为主(本博文内容都能在中英文手册中找到)。
一、概述
NRF24L01是一款工作在2.4G~2.5GHz世界通用的ISM频段的单片无线收发器芯片。无线收发器包括:频率发生器、增强型ShockBurst模式控制器、功率放大器、晶体振荡器、调制器、解调器。
二、基本功能
1)真正的GFSK单片式收发芯片
2)增强型ShockBurst功能
3)地址及CRC校验功能
4)无线速率:1或2Mbps
5)SPI接口速率:0~8Mbps
6)125个可选的工作频道
7)低工作电压:1.9~3.6V
三、模块引脚说明
下面以深圳云佳科技有限公司的NRF24L01模块为例,对2.4G NRF24L01模块引脚进行说明。模块如下图所示。
GND——GND
VCC——VCC
CE——数字输入,RX或TX模式选择
CSN——数字输入,SPI片选信号
SCK——数字输入,SPI时钟
MOSI——数字输入,从SPI数据输入脚
MISO——数字输出,从SPI数据输出脚
IRQ——数字输出,可屏蔽中断脚
四、NRF24L01的SPI命令宏定义
#define NRF_READ_REG 0X00 //读配置寄存器
#define NRF_WRITE_REG 0X20 //写配置寄存器
#define RD_RX_PLOAD 0X61 //读RX有效数据:1~32个字节
#define WR_TX_PLOAD 0XA0 //写TX有效数据:1~32个字节
#define FLUSH_TX 0XE1