SPI通信
自动ACK,发送完数据后可等对方回你
NRF24L01介绍
时序介绍,数据位多字节传输时,低字节在前,高字节在后
工作模式介绍,当处于发送模式的时候,CE脚电平为1,延时10ms,CE脚电平为0,进入待机模式I,CE在设置为,进入待机模式2
收发模式有两种
ENhanced shockBurstTm收发模式好处多,在发送模式下,置CE为1,至少10us,就使能了发送过程
发送方要求终端设备在收到数据后有应答信号,以便检测有无数据丢失,一旦丢失则重发数据
一个接收可以与6个发送匹配,它们都在同一频道,通道0是唯一可以配置为40位自身地址的数据通道,1~5数据通道都为8位自身地址和·32位公用地址(由通道1设置)
在发送端的通道0被用作接收应答信号,因此通道0的接收地址要与发送地址端地址相等,以确保接收到正确的应答信号, 下图中有6个发送端,一个接收端,因为接收模式下,可以接收6路不同数据,下面的数据通道1~5高32位为固定地址,后8位为自身地址
发送流程,配置CONFIG寄存器,使之进入发送模式,微控制器把CE拉高(至少10us),激活enhanced shockedburstTM发射
发送模式初始化流程,写Tx节点的地址TX_ADDR要和RX_ADDR_P0的地址相等
接收模式流程,这里的接收地址是针对一个Nrf在发送模式和接收模式的地址都是通道0的TX_ADDR
接收模式初始化
NRF24l01指令 0xAAAAA | 0x00, 0xAAAAA | 0x20, payload有效负荷,在这里是有效数据,fLush是冲洗,这里是清除的意思
配置寄存器
自动应答使能寄存器,设置为1允许自动应答,设置为0禁止自动应答
自动重发,发送没有收到ACK后多少延时后重发,自动重发次数设置最大15次,就是在设置的自动重发次数完了还没收到ACK后就不发了,为0禁止自动重发
射频频率设置寄存器
RF_DR_HIGH和LOW配合10就可以把射频数据速率设置成2Mhz RF_PWR默认设置为11发射功率最大
状态寄存器
通道0到5接收地址设置寄存器
发送地址设置寄存器,先写低字节,在enhanced模式下发送后会自动应答,所以P0的接收地址应该与Tx的地址相等
0x11有效数据宽度设置寄存器
探索者F4硬件部分,NRF24L01与norflash共用SPI1,注意分时复用
战舰版F1
miniF103硬件连接
源码位置
NRF24F0l驱动函数