天线|RF射频
直播中

张晓宁

7年用户 210经验值
私信 关注
[问答]

nrf24l01发送出现问题怎么办

主要问题是把24l01初始化,接收模式,接收数据正常,但是配置成发送模式,数据一直发布出来,请问有没有遇到这样的情况或者指点一下

void Set_NRF24L01_TxMode(void)

{      

                        RF24L01_CE_0 ;

                        SPI_Write_Buf(FLUSH_TX,0x0,0x0);

                        SPI_RW_Reg(WRITE_REG + CONFIG, 0x7E);                   // IRQ收发完成中断响应,16位CRC        ,主接收

                        RF24L01_CE_1;

                        delay_ms(3); //注意不能太小

}

//****************************************************************************************

//NRF24L01初始化

//***************************************************************************************/

void init_NRF24L01(void)

{      

                        RF_PORT_INIT();

                        RF24L01_CE_0 ;    // chip enable

                        RF24L01_CSN_1;   // Spi disable

                        RF24L01_SCK_0;   // Spi clock line init high

                        SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH);    // 写本地地址        

                        SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, RX_ADDRESS, RX_ADR_WIDTH); // 写接收端地址

                        //SPI_RW_Reg(WRITE_REG + EN_AA, 0x00);      //  频道0自动        ACK应答允许        

                        SPI_RW_Reg(WRITE_REG + EN_AA, 0x01);      //  频道0自动        ACK应答允许

                        //DBG_TB( SPI_Read(EN_AA));        

                        SPI_RW_Reg(WRITE_REG + SETUP_RETR,0x0F);  //自动重发15次

                        //DBG_TB( SPI_Read( SETUP_RETR));

                        SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01);  //  允许接收地址只有频道0,如果需要多频道可以参考Page21  

                        SPI_RW_Reg(WRITE_REG + RF_CH, 0);        //   设置信道工作为2.4GHZ,收发必须一致

                        SPI_RW_Reg(WRITE_REG + RX_PW_P0, RX_PLOAD_WIDTH); //设置接收数据长度,本次设置为32字节

                        SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07);   //设置发射速率为1MHZ,发射功率为最大值0dB

                        SPI_RW_Reg(WRITE_REG + CONFIG, 0x0E);   // IRQ收发完成中断响应,16位CRC        ,主接收

           // DBG_TB( SPI_Read(CONFIG));

           // RF24L01_CE_1 ;

                        delay_ms(3);

}

读写寄存器没有任何问题,就是发送有问题

回帖(5)

王鑫

2020-5-25 14:36:45

初始化有问题
举报

李艳玮

2020-5-25 14:43:38

请问初始化哪里有问题?
举报

胡丹丹

2020-5-25 14:53:27

仔细看下数据手册
举报

赖文文

2020-5-25 15:02:40

还请具体说明一下

init_NRF24L01(); 

Set_NRF24L01_TxMode();

这是初始化部分
举报

更多回帖

发帖
×
20
完善资料,
赚取积分