无线模块nRF24L01+ (寄存器资料)2401连不上看这里

频率范围:2.400~2.4835GHz
理论最高频率:1.88×10^43Hz

模块引脚定义:
GND    VCC 

CE       CSN

SCK     MOSI

MISO   IRQ

1      2电源3.3v(电压不能太高,烧模块的。电压太低会丢配置参数,要重新  init();
3片选  4SPI片选(低电平使能)
5时钟  6模块输入
7输出  8中断脚
 

3.3v电压太低会突然不能遥控了,要重新运行初始化函数才能遥控。

CE使能:高电平>130us工作,低电平待机,高电平使能天线
CSN:spi通信(低电平使能)
SCK:spi时钟(上升沿)(低电平修改数据,高电平发送)(取数据时多一个低电平,sck上升沿,读取D7,sck上升沿,读取D6。。。)
MOSI:模块输入,数据高位在前。D7,D6,D5,D4,D3,D2,D1,D0,D15,D14,D13.....

注:但地址不一样,它是D0,D1,D2.........D39这样输入的。

MISO:多一个脉冲低电平,模块输出数据。
IRQ:模块输出脚(发生中断时拉低电平)
设备可以{6收1发}

读寄存器地址      A AAAA                   //代表5个bit 位 。最大0x1F     
空操作             0xFF                   //空操作,把要读的地址用spi写入后,需要写0xff,(写0xff的同时无线模块会输出该寄存器的设置)

写寄存器地址      1A AAAA              //D5位,相当于二进制 10 0000是0x20,比如要写0xA0寄存器的时候,要写0x20逻辑或0xA0等于的值" | = "

寄存器            0x60                          获取协议帧中6bit代表的数据包长度值。
寄存器            0x61                  无线接收寄存器 (获取有效负载内容。低字节先输出)
寄存器            0xA0                  无线发送寄存器(写入数据可以发送出去)(spi直接写0xa0,byte[0]数据0,byte[1]数据1。。。

寄存器            0xe1                  只需写1字节                 清空发送寄存器 (写0xe1  0xFF) 
寄存器            0xe2                  只需写1字节                 清空无线接收寄存器(写0xe2 0xFF)                                                注意bit5位

寄存器            0xe3                  只需写1字节                 数据重发(直接写0xe3)


寄存器           0xb0                           无线发送寄存器(写入数据可以发送出去,但不使用应答)(直接写0xb0,byte[0]数据,   
                                                                                                            byte[ n]数据 。。。32字节) 

寄存器           1010.1PPP           0XA8 |=       无线协议帧中9bit中PID位,取值范围000~101,PPP代表分组,第1次时PID=1;


寄存器          0x00                         7空 (多查看0x07状态寄存器
                                             6接收完成中断使能(1关0开,中断产生时IRQ脚,低电平)    
                                             5发送完成中断使能(1关0开,中断产生时IRQ脚,低电平)
                                             4重发中断使能(1关0开,中断产生时IRQ脚,低电平)   

                                             3校验位使能(0关,1开)   
                                             2校验位长度选择(0是1字节,1是2字节)       
                                             1无线模式(1工作,0掉电)   
                                             0无线工作方式(0发送模式,1接收模式)


寄存器            0x01                       7不用
                                             6不用
                                             5接收通道5自动应答(1开0关)
                                             4接收通道4自动应答(1开0关) 
                                             3接收通道3自动应答(1开0关) 
                                             2接收通道2自动应答(1开0关) 
                                             1接收通道1自动应答(1开0关) 
                                             0接收通道0自动应答(1开0关) 
寄存器            0x02                 
                                             7 不用
                                             6 不用
                                             5 接收通道5允许(1开,0关) 
                                             4 接收通道4允许(1开,0关) 
                                             3 接收通道3允许(1开,0关) 
                                             2 接收通道2允许(1开,0关) 
                                             1 接收通道1允许(1开,0关) 
                                             0 接收通道0允许(1开,0关) 

寄存器            0x03                 
                                             7
                                             6
                                             5
                                             4
                                             3
                                             2
                                             10RX / TX地址长度(00:无效,01:3字节,10:4字节,11:5字节)
                                              

寄存器            0x04                 
                                             7654自动重发延时     0000:250微秒  0001:500微秒。。。。1111:4000微秒
                                                           
                                             3210自动重发次数     0000:关           0001:1次    0002:2次   1111:15次
                                              

寄存器            0x05              模块使用的频率(2模块频率必须一致)   
                                             7无
                                             6543210    1:1Mhz+2400Mhz。    1111111频率最高2525MHz
                                              

寄存器            0x06                 
                                             7  连续发送开关(1开,0关)
                                             6
                                             53速率250kbps(1开,0关)(和位3配合使用,位5位3 = 00:1Mbps  01:2Mbps  10:250kbps   11:不使用) 
                                             4锁定倍频器(1开,0关)只用于测试
                                             3数据速率(和位5配合使用,位5位3 =  00:1Mbps    01:2Mbps   10:250kbps   11:不使用)
                                             21发射功率(00:-18dbm 01:-12dbm   10:-6dbm   11:0dbm)(注:我的模块11是20dpm哈。。。)
                                              
                                             0不用

寄存器            0x07 无线状态寄存器(写1清除对应的中断) 0x20|=0x07               
                                             7
                                             6收到数据中断
                                             5发送完成中断
                                             4重发失败中断(超过设定的重发次数)
                                             321    000通道0    001通道1  002通道2。。。。(可查看是哪个通道引起的中断)
                                              
                                              
                                             0重复发送满标志

寄存器            0x08                
                                             7654:数据丢包累计计数器
                                              
                                              
                                              
                                             3210:重发数据 计数器
                                              
                                              
                                              

寄存器            0x09                 
                                             7654321:不用
                                             
                                              
                                              
                                             0:载波检测(信号超过-64dbm时会置1)用于检测该频率下是否有其他发射机在占用



寄存器            0xa                 
                                            39:38.。。。。。。2:1:0      (接收通道0的地址 注: 位39到位0可以随意改,但注意地址是D0.....D39这样写入的,且后面通道2345是D0~D7就结束了,D8~D39是跟通道1共用的 )
                                              

寄存器            0x0b                 
                                            39:38.。。。。。。2:1:0      (接收通道1的地址 注: 位39到位0可以随意改,D0先输入~D39结束) 

                                              

寄存器            0x0c                 
                                            39:38.。。。。。。2:1:0      (接收通道2的地址 注: 位39到位8和通道1共用。D0,D1,D2,D3....D7结束,D8~D39地址段和通道1共用,想修改的话,只能修改通道1) 

                                               
                                            
寄存器            0x0d                 
                                            39:38.。。。。。。2:1:0      (接收通道3的地址,同上) 
                                               
                       
                                  
寄存器            0x0e                 
                                            39:38.。。。。。。2:1:0      (接收通道4的地址) 
                                               
                                              
                                              
寄存器            0x0f                 
                                            39:38.。。。。。。2:1:0      (接收通道5的地址) 
                                               
                                              
                                              
寄存器            0x10                 
                                            39:38.。。。。。。2:1:0      (发射通道0地址,6发1收,地址要一样) 注:通道0地址用于发送数据和接收应答信号,地址是D0先输入,再D1,D2直到D39结束。但通道2后面就有限制,D0到D7就结束了,再写的话又是从D0开始了。通道2345的D8~D39的值是和通道1共用的。想修改的话,只能修改通道1。对于单一的模块而言:通道12345是用来接收数据的,通道0是用来发数据到上一级模块。数据发完后,通道0会立即变为接收模式,收到上级发来的应答信号。如果ACK正确表示发送成功。如果失败会立即重发,直到超过重发设定次数而停止。比如通道5是应答接收,在通道5接收到数据后,硬件会占用通道0发出应答信号给对面的模块。
                                               
寄存器            0x11                
                                             7
                                             6
                                             543210        通道0的有效字节(设置32就是只接收32字节)

寄存器            0x12                
                                             7
                                             6
                                             543210        通道1的有效字节 (最大32字节)    
寄存器            0x13                
                                             7
                                             6
                                             543210        通道2的有效字节 
寄存器            0x14                
                                             7
                                             6
                                             543210        通道3的有效字节 
寄存器            0x15                
                                             7
                                             6
                                             543210        通道4的有效字节 
寄存器            0x16                
                                             7
                                             6
                                             543210        通道5的有效字节 

                                              
寄存器            0x17状态寄存器(只读)              
                                             7
                                             6发上一数据包
                                             5TX寄存器满(1满)
                                             4TX寄存器空(1空)
                                             3
                                             2
                                             1RX寄存器满(1满)
                                             0RX寄存器空(1空)
寄存器           TX(0xA0)               
                                           位255~~~~~~~位0      (32字节)//byte[32]用于模块TX发送
寄存器           RX(0x61)                
                                           位255~~~~~~~位0      (32字节)//byte[32]用于模块RX接收

寄存器            0x1c      启用动态负载长度DPL                 
                                             7
                                             6
                                             5 通道5(0关,1开)
                                             4 通道4(0关,1开) 
                                             3 通道3(0关,1开) 
                                             2 通道2(0关,1开)
                                             1 通道1(0关,1开)
                                             0 通道0(0关,1开)
寄存器            0x1d                 
                                             7
                                             6
                                             5
                                             4
                                             3
                                             2使能动态负载总开关(1开)
                                             1动态负载下使能ACK应答(1开)

                                             0动态负载下使用不应答模式(1开) 

 

如果实在不理解,还是连不上,那你就试试不应答模式,地址全是0xFFFFFFFF或0x00000000,2模块频率设置一样,发射模块重复发,接收模块硬件仿真调试,查看数据。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值