打印
[无线通信]

关于2.4G无线芯片NRF24L01接收地址的配置问题

[复制链接]
1520|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
h244539987|  楼主 | 2018-3-7 12:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

大家好,我最近在做NRF24L01的通信,发现一个非常奇怪的问题。
NRF24L01有6个接收管道,每个管道都可以配置接收地址,接收模块的接收地址与发射模块的发射地址需要相同才可以通信。
我按照手册配置完成,地址宽度配置为3个字节,初始化配置如下:
Clear_IRQ();                  //清空所有中断
  W_24L01_Reg(CONFIG,0x0A);     //使能CRC,开机
  W_24L01_Reg(EN_AA,0x00);      //关闭所有通道自动ACK
  W_24L01_Reg(FEATURE,0x01);    //使能NO_ACK命令
  W_24L01_Reg(EN_RXADDR,0x3F);  //使能P0-P5所有接收管道
  W_24L01_Reg(SETUP_AW,0x01);   //无线地址宽度:3字节
  W_24L01_Reg(RF_CH,50);        //频率:2460MHz
  W_24L01_Reg(RF_SETUP,0x27);   //空速:250k,功率,0x27:7dB
  W_24L01_RX_TX_ADDR(TX_ADDR,TX_ADDR_1B);       //发射地址3字节
  W_24L01_RX_TX_ADDR(RX_ADDR_P0,RX_ADDR_P0_1B); //管道0的接收地址  
  W_24L01_RX_TX_ADDR(RX_ADDR_P1,RX_ADDR_P1_1B); //管道1的接收地址
  W_24L01_Reg(RX_ADDR_P2,RX_ADDR_P2_1B);        //管道2的接收地址
  W_24L01_Reg(RX_ADDR_P3,RX_ADDR_P3_1B);        //管道3的接收地址
  W_24L01_Reg(RX_ADDR_P4,RX_ADDR_P4_1B);        //管道4的接收地址
  W_24L01_Reg(RX_ADDR_P5,RX_ADDR_P5_1B);        //管道5的接收地址
  W_24L01_Reg(RX_PW_P0,RX_PW_MID);        //管道0接收字节长度:1
  W_24L01_Reg(RX_PW_P1,RX_PW_MID);        //管道1接收字节长度:1  
  W_24L01_Reg(RX_PW_P2,RX_PW_MID);        //管道2接收字节长度:1  
  W_24L01_Reg(RX_PW_P3,RX_PW_MID);        //管道3接收字节长度:1
  W_24L01_Reg(RX_PW_P4,RX_PW_MID);        //管道4接收字节长度:1
  W_24L01_Reg(RX_PW_P5,RX_PW_MID);        //管道5接收字节长度:1

然后问题来了,当我把接收地址的最后一个字节改为0xA5时,这时接收就特别不稳定,经常丢数据,请教一下各位大神,有谁知道这是什么原因吗?

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝