找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4671|回复: 8
收起左侧

nrf24l01无线通信的实现

[复制链接]
ID:187245 发表于 2017-4-7 20:37 | 显示全部楼层 |阅读模式
nrf24l01无线通信实现,基于51单片机,实现矩阵键盘与数码管的显示,矩阵键盘按下几对应的接收端收到数据后相应的在数码管上显示按键号,从而实现无线通信。通信过程中,大致原理如下:
1、发送方

首先将nRF24L01配置为发射模式:接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10μs,延迟130μs后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLDTX FIFO中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_RT置高,TX FIFO中数据保留以便再次重发;MAX_RTTX_DS置高时,使IRQ变低,产生中断,通知MCU。最后发射成功时,CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。

2,接收方


首先将nRF24L01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RX FIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1
232323.png
444444.png
11111111.jpg
QQ图片20160606112059.png

NRF24L01模块.rar

441.39 KB, 下载次数: 86, 下载积分: 黑币 -5

回复

使用道具 举报

ID:150133 发表于 2017-4-7 23:39 | 显示全部楼层
这个好东西,一直想学习NRF24L01,奈何无人指导,且无从入手,感谢楼主。
回复

使用道具 举报

ID:163245 发表于 2017-4-8 16:40 | 显示全部楼层
很好的资料,难得遇上,先收下了。
感谢分享。
回复

使用道具 举报

ID:187303 发表于 2017-4-17 16:13 | 显示全部楼层
感谢楼主 很好的资料,难得遇上,先收下了
回复

使用道具 举报

ID:51142 发表于 2017-4-21 18:38 | 显示全部楼层
感谢楼主 很好的资料,难得遇上,学习了!
回复

使用道具 举报

ID:198184 发表于 2017-8-9 14:23 | 显示全部楼层

 很好的资料,难得遇上,先收下了。
感谢分享。
回复

使用道具 举报

ID:182522 发表于 2017-8-30 12:11 | 显示全部楼层
好东西 谢谢分享
回复

使用道具 举报

ID:68356 发表于 2017-8-30 22:18 | 显示全部楼层
感谢分享
回复

使用道具 举报

ID:393991 发表于 2018-9-5 16:00 | 显示全部楼层
刚接触这,感谢楼主!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表