单片机基于2.4G无线收发模块NRF24L01的无线通信(基本测试通过)

2019-04-15 13:00发布

在无线通信中,NORDIC公司生产的NRF24L01无线收发模块是许多玩家的选择,它是2.4GHz~2.5GHz的ISM 频段的单片无线收发器芯片,具有功能较强而控制较方便并且价格便宜的优点。一块NRF24L01可以同时接收6个通道的发送数据,同时可以采用变频手段改变通信频道来避免无线通信干扰,下面简单介绍一下这种芯片的使用。 本次采用了两块单片机进行无线通信,一块型号为:STC90C51 16RD+        ,接收器:NRF24L01                                                                       另一块为:STC12C5A60S2             ,发送器:NRF24L01 一、硬件方面 1>引脚介绍
引脚1:GND,接地端;引脚2:VCC,1.9V~3.6V 引脚3:CE, NRF24L01模式控制端 引脚4:CSN,片选信号 引脚5:SCK,SPI时钟输入端 引脚6:MOSI,SPI数据输入端 引脚7:MISO,SPI数据输出端 引脚8:IRQ,中断输出端,低电平使能,即中断输出低电平 对于电源不要超过3.6V,否则可能损坏芯片 对于端口引脚,可以耐压5V,即可以接TTL端口 2>工作模式
3>增强型shockburst模式 NRF24L01默认是增强型shockburst模式,即能自动应带,此模式下可减轻单片机负担,可使程序简化,本次将采用默认方式发送接收数据。 在此方式下,通讯协议如下: 对发送方(配置PRIM_RX为低):发送方启动发送后,即CE拉高至少10us,发送方发送数据,发送完数据后使用通道0接收终端应答ASK信号,如果没有收到ASK,发送方将重发相同的数据包,直到收到应答信号或重发次数超过设定最大值为止。若超过最大次数,将会产生MAX—RT中断,IRQ输出低电平。若收到了ASK信号,发送发认为发送成功,将产生TX_DS中断。 对接收方(配置PRIM_RX为高):接收方启动接收后,即CE拉高至少10us,若接收到的数据通过CRC校验正确,则将数据存储在RX_FIFO中。 4>数据通道地址配置方法
           
图示中,以地址宽度为5字节示例 对于NRF24L01(发送方、接收方)通道0地址32位数据均可配置 对于接收方,而通道1-通道5中前4字节地址必须相同,第五字节不能相同 对于发送方,通道0地址 和 发送地址 必须一致,而且与接收方所要通信通道地址相同! 5>SPI指令设置 每一条完整指令的写入都必须通过一次CSN由高到低的变化 6>SPI指令格式
访问多字节寄存器时,应该先读/写低字节的高位。当多字节寄存器在写完之前若结束SPI写操作,则高位字节内容可保持不变。 对于中断,若向中断源TX_DS、RX_DR、MAX_RT写入1,则中断响应被屏蔽。 7>SPI时序 写NEF24L01中寄存器时必须处于待机或掉电模式!

8>寄存器表格 共有18个寄存器,而对于点对点通信的NRF24L01只用到不到10个寄存器即可,其它可保持默认配置,详情见程序配置,寄存器说明见NORDIC公司的datasheet。 二、软件部分 下篇继续》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》 **************************************************************************************************************** 详情请咨询:                                                 http://shop108408772.taobao.com/
**************************************************************************************************************