nrf 24l01使用方法

1、frequency

频率=基础频率2.400G HZ+ RF_CH

RF_CH=10

CH=2.4G+0.01G=2.41G

2、逻辑通道6个 pipe 时间片不同,占用同一个频率

发送时,只有一个pipe

接受时可以有6个pipe

3、通讯速率 air data rate rf_dr 寄存器设置

有两种速率 2M 1M

RF_DR=0 1M , =1 2M

1M时,信号较好,组网时有更好的兼容性

4、PA 发射功率放大

RF_PWR 00 18dB

RF_PWR 01 12dB

RF_PWR 10 6dB

RF_PWR 11 0dB

5、LNA 接受功率放大 低噪声放大

LNA_HCURR

W_TX_PAYLOAD PAYLAOD数据经过打包变成PLOAD打包后发送出去

NRF2401_Write_Buf(WR_TX_PLOAD,txbuf,TXWIDTH) 字符宽度0-32位

R_RX_PAYLOAD

6、工作模式

1、PowerDown 功耗最低的状态

PowerDown模式下 pwr_up=1 进入Standby模式 1500us

Standby模式下,pwr_up=0会进入PowerDown模式

2、Standby 模式功耗略大于PowerDown

CE=1

PRIM_RX=1 接受状态

PRIM_RX=0 发送状态

发送状态和接受状态不能直接转换,必须回到 Standby模式下在设置

7、mcu与2401的连接配置

ce

csn

irq

spi 不超过8M频率

8、2401工作参数设置

1、判断2401是否存在

2、配置数据通道,收发地址

3、配置radio control参数(无线通信参数)

A、频道频率

B、速率带宽

C、PA功率

D、是否打开LNA

4、配置工作模式

九、接受数据思路

1、判断irq是否有中断信号

2、判断中的是否是接受数据中断、

3、清除中断标志,读取rx_FIFO数据

4、flush RX_FIFO 准备下一次接受数据

十、发送数据思路

1、切换至tx模式

2、往tx_fifo里写入数据

3、等待irq引脚中断信号

4、清除发射完毕中断信号

5、切换至rx模式

十一、主要寄存器、命令

1、R_REGISTER 000A AAAA 读配置寄存器

2、W_REGISTER 001A AAAA 写配置寄存器

3、R_RX_PAYLOAD 0110 0001 读 RX有效数据 1-32位

4、W_TX_PAYLOAD 1010 0000 写TX有效数据 1-32位

5、FLUSH_TX 1110 0001 清除tx_fifo寄存器

6、 FLUSH_RX 1110 0010 清除rx_fifo寄存器

7、REUSE_TX_PL 1110 0011 重发上次有效数据

8、NOP 1111 1111 空操作,主要用来读状态寄存器

十二、寄存器

00 6位 为0 rx可屏蔽中断 ,为1不产生中断

5位 为0 tx可屏蔽中断 ,为1不产生中断

4 为0 当接受最大位数据时产生中断,为1不产生中断

3 0 crc校验使能

2 0 8位crc校验 1 16位crc校验

1 1 上电 0 掉电

0 PRIM_RX 1 接受模式,0 发送模式

01寄存器 ENAA_P0 0-5位控制数据通道自动应答允许,6-7位0

02寄存器 ERX_P0接收允许寄存器 0-5位控制数据 0-5通道允许

03寄存器 SETUP_AW 设置地址宽度 1:0 00 无效 01 3字节 02 4字节 03 5字节 低2位设置

04自动重发 SETUP_RETR 7:4 0000 250+86us 0001 500+86us 1111 4000+86us

自动重发计数 3:0 0001自动重发1次 1111 自动重发15次

05射频通道 RF_CH

6:0 设置工作频率 2.40G-----2.55G 125个频率 默认000010 2.42G

06寄存器 RF_SETUP

4位 PLL_LOCK锁相环允许,仅用于测试模式

3位 RF_DR 数据传输速率 0 1M 1-2M 默认为1 2M

2:1 RF_PWR 发射功率 00 18dB 01 12dB 10 6dB 11 0dB

0 LNA_HCURR 低噪声放大增益 默认1

07寄存器 STATUS

6位 RX_DR 接收数据中断包后置1 写1清除中断

5位 TX_DR 接收数据中断包后置1 写1清除中断

4位 MAX_RT 重发次数溢出中断 后置1 写1清除中断

3:1 RX_P_NO 接收数据通道号

0 TX_FIFO寄存器满标志

0A 寄存器 RX_ADDR_P0 默认0xE7E7E7E7E7

0B 寄存器 RX_ADDR_P1 默认0xC2C2C2C2C2

2-5默认前面地址为通道1的前4个字节 0xC2C2C2C2C2,

0C 寄存器 RX_ADDR_P2 0xC2C2C2C2C3

0D 寄存器 RX_ADDR_P3 0xC2C2C2C2C4

0E 寄存器 RX_ADDR_P4 0xC2C2C2C2C5

0F 寄存器 RX_ADDR_P5 0xC2C2C2C2C6

10 TX_ADDR 0xE7E7E7E7E7 发送地址

11 RX_PW_P0 5:0 发送地址宽度 1-32字节

12 RX_PW_P1 5:0 发送地址宽度 1-32字节

17 FIFO_STATUS FIFO状态寄存器

6 TX_REUSE

5 TX_FULL

4 TX_EMPTY

1 RX_FULL

0 RX_EMPTY

三、接收模式

Rx模式初始化过程:

初始化步骤24L01相关寄存器

  1. 写 Rx 节点的地址 RX_ADDR PO

2)使能 AUTO ACK EN AA

3)使能 PIPE 0 EN RXADDR

  1. 选择通信频率 RF_CH

  2. 选择通道0有效数据宽度Rx_Pw_PO

  3. 配置发射参数(低噪放大器增益、发射功率、无线速率)RF SETUP

  4. 配置 24L01的基本参数以及切换工作模式 CONFIG。

四、发射模式

Tx 模式初始化过程

1)写 Tx 节点的地址 TX_ADDR

  1. 写 Rx 节点的地址(主要是为了使能Auto Ack) RX_ADDR_PO

3)使能 AUTO ACK EN_AA

4)使能 PIPE O EN RXADDR

5)配置自动重发次数 SETUP_RETR

  1. 选择通信频率RF_CH

7)配置发射参数(低噪放大器增益、发射功率、无线速率)RF_SETUP

(8)选择通道0有效数据宽度Rx_Pw_P0

(9)配置24L01的基本参数以及切换工作模式 CONFIG。

相关推荐
wenchm1 小时前
细说STM32F407单片机轮询方式读写SPI FLASH W25Q16BV
stm32·单片机·嵌入式硬件
委员1 小时前
基于NodeMCU的物联网电灯控制系统设计
单片机·物联网·嵌入式·nodemcu··lu_asr01·gy-302
北国无红豆1 小时前
【CAN总线】STM32的CAN外设
c语言·stm32·嵌入式硬件
单片机学习之路2 小时前
【C语言】结构
c语言·开发语言·stm32·单片机·51单片机
m0_748254093 小时前
STM32--超声波模块(HC—SR04)(标准库+HAL库)
stm32·单片机·嵌入式硬件
南城花随雪。3 小时前
单片机:实现FFT快速傅里叶变换算法(附带源码)
单片机·嵌入式硬件·算法
逝灮4 小时前
【蓝桥杯——物联网设计与开发】基础模块8 - RTC
stm32·单片机·嵌入式硬件·mcu·物联网·蓝桥杯·rtc
LXL_244 小时前
模拟——郑益慧_笔记1_绪论
嵌入式硬件
weixin_4526006910 小时前
串行时钟保持芯片D1380/D1381,低功耗工作方式自带秒、分、时、日、日期、月、年的串行时钟保持芯片,每个月多少天以及闰年能自动调节
科技·单片机·嵌入式硬件·时钟·白色家电电源·微机串行时钟
Amarantine、沐风倩✨11 小时前
设计一个监控摄像头物联网IOT(webRTC、音视频、文件存储)
java·物联网·音视频·webrtc·html5·视频编解码·七牛云存储