
1.所需材料
a)单片机最小系统
b)液晶(显示状态作用)
c)NRF24L01无线模块
2.基本须知
a)引脚
i.
b)NRF24L01状态机(主要有一下几个状态)
i.Power Down Mode:掉电模式
ii.Tx Mode:发射模式
iii.Rx Mode:接收模式
iv.Standby-1Mode:待机1模式
v.Standby-2Mode:待机2模式
c)对模块的固件编程的基本思路如下:
i.置CSN为低,是能芯片,配置芯片各个参数。配置参数在Power Down状态中完成
ii.如果是Tx模式,填充Tx FIFO
iii.配置完成以后,通过CE与CONFIG中的PWR_UP与PRIM_RX参数确定NRF24L01要切换到的状态。
Tx Mode:PWR_UP=1;PRIM_RX=0;CE=1(保持超过10us就可以)
Rx Mode:PWR_UP=1;PRIM_RX=1;CE=1
iv.IRQ引脚会在以下三种情况变低:
1.Tx FIFO发完并且收到ACK(使能ACK情况下)
2.RxFIFO收到数据
3.达到最大重发次数
将IRQ接到外部中断输入引脚,通过中断程序进行处理
d)模块通信中的相互识别,是通过定义发送地址和本机地址(如)地址可以自定义
3.实现思路
a)使用SPI通信与NRF24L01进行相互通信,需要编写基本通信模块的代码(需要用到读写数据时序图)
b)操作NRF24L01模块需要控制其内部的寄存器,因此要在程序中宏定义模块内部需要使用的寄存器的地址。
c)使用模块之前需要对模块内的相应寄存器进行初始化设置,同理,其他各个模式也有相应的初始化设置。
d)若接收到数据,IQR引脚会被拉低,此时可以通过SPI通信模块程序读取相应寄存器的值,读取出所接收到的数据。
e)
