|
RF_CE =0;
Delay_us(100);
SPI_Read_Buf(TX_ADDR, buf, TX_ADR_WIDTH+1);//debug 测试原来的本地地址:复位值是:0xE7 0xE7 0xE7 0xE7 0xE7
SPI_WR_Reg(WRITE_REG + CONFIG, 0x02);
Delay_us(100);
SPI_WR_Reg(WRITE_REG + CONFIG, 0x3f);
SPI_WR_Reg(WRITE_REG + EN_AA, 0x00); // 频道0自动 ACK应答允许
SPI_WR_Reg(WRITE_REG + EN_RXADDR, 0x01); // 允许接收地址只有频道0,如果需要多频道可以参考Page21
SPI_WR_Reg(WRITE_REG + SETUP_AW, 0x02);
SPI_WR_Reg(WRITE_REG + RF_CH, 0x22); // 设置信道工作为2.4GHZ,收发必须一致
SPI_WR_Reg(WRITE_REG + SETUP_RETR, 0xf0); //设置发射速率为250kpbs,发射功率为最大值0dB
SPI_WR_Reg(WRITE_REG + RF_SETUP, 0x27); //设置发射速率为250kpbs,发射功率为最大值0dB
SPI_WR_Reg(WRITE_REG + NRFRegSTATUS, 0x0e);
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_WR_Reg(WRITE_REG + RX_PW_P0, RX_PLOAD_WIDTH); //设置接收数据长度,本次设置为32字节
SPI_WR_Reg(WRITE_REG + FIFO_STATUS, 0x11);
RF_CSN=0;
NRF24SPI_Send_Byte(0xe2); //flush rx
RF_CSN=1;
SPI_WR_Reg(WRITE_REG + CONFIG, 0x3f);
RF_CE =1; |
|