初始化好像不对- void init_NRF24L01(void)
- {
- inerDelay_us(100);
- CE_L();
- CS_H();
- CLK_L();
- 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, 0x01); // 频道0自动 ACK应答允许
- SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); // 允许接收地址只有频道0,如果需要多频道可以参考Page21
- SPI_RW_Reg(WRITE_REG + RF_CH, 40); // 设置信道工作为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); //发送模式
- // CE=1;
- CE_H();
- inerDelay_us(10);
- inerDelay_us(10);
- // SPI_RW_Reg(WRITE_REG + CONFIG, 0x0f); //接收模式
- }
|