nrf24l01中文资料_工作原理_教程_程序



nrf24l01中文资料_工作原理_教程_程序
Easyeda,史上最强大的电路设计工具,在线pcb design


一、初步认识一下
NRF24L01是Nordic公司研发的一款2.4G通信芯片。它不是zigbee、不是蓝牙、不是wifi,它拥有的是自己的一套协议。既然是通信芯片,而且有自己的协议,那说明这个芯片只能是用在NRF24L01与NRF24L01或者Nordic公司此系列的芯片通信,一般情况下,用在2个NRF24L01之间的通信,任何一个模块都可以设置为接收或者发送模式,而且可由主控单片机随时根据需要设置为发送或者接收模式。
二、深入认识一下
NRF24L01是一个长着20个引脚的数字射频芯片,内部有若干寄存器,外部留有spi接口,外部单片机通过spi接口配置此芯片内部的寄存器。内部寄存器大概分为控制寄存器和数据寄存器。我们可以利用用单片机把它配置为接收模式或发送模式,还可以配置频道、地址、每次发送的字节数、是否带CRC校验、功率等。配置成发送模式以后,用单片机把要发送的数据写进去,它就会自动把数据发出去;配置成接收模式以后,单片机通过观察它的IRQ引脚,就可以知道是否接收到了数据,IRQ为低电平,说明接收到了数据,单片机可以通过SPI口把接收到数据取出来。
三、通信条件
两个nrf24l01通信,需要满足3个条件相同:
1.频道相同(设置频道寄存器RF_CH)
2.地址相同(设置TX_ADDR和RX_ADDR_P0相同)
3.每次发送接收的字节数相同(如果设置了通道的有效数据宽度为n,那么每次发送的字节数也必须为n,当然,n<=32)
四、是否可以一对多相互通信?
答:可以。nrf24l01最多一对几个呢?答案是无数个!官方手册上说,nrf24l01可以一对六,指的是自身的通道有6个,而且这种模式只能是1收6发,不能1发6收。所以我们一般不用这种方式。我们一般只用nrf24l01的通道0,通过改变频道和地址来实现1对多的互发。它属于2.4G芯片,但实际上,可以在2.4G到2.5G之间的频道上通信,一共有125个频道,它的地址是5字节的。所以用这种方式,可以实现一对无数的通信。当然,这只是一种理论,实际上由于环境中的各种干扰,太多了就乱了。
五、实现一对多通信的一种最常用的办法
一对多,最常用的办法就是跳频通信。不要被“跳频通信”四个字吓倒,其实就是换频道。原理:假设现在1对10通信相互收发数据,给10个节点的NRF24L01设置为不同的频道,如10
  • 4
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值