|
本帖最后由 petermxw 于 2013-9-16 12:14 编辑
最近一直弄NRF24L01+ 发送查看 STATUS寄存器是0x2E FIFO寄存器是0X11。但是接收端 STATUS 0x0E FIFO 0x11。 供电部分也加了106和104。代码用的厂家调试的代码 哎 没有解决思路 顺便传一份中文版的datasheet 对了 我这个模块应该是台湾版的Si24R1。淘宝4块多一个的。- void NRF24L01_Tx_Mode(uint8 *TxDate)
- { //发送模式
- NRF24L01_CE_LOW;
- NRF24L01_Write_Register(W_REGISTER + SETUP_AW,0x02);
- NRF24L01_Write_Date(W_REGISTER + TX_ADDR, TX_ADDRESS, TX_ADDR_WITDH); // Writes TX_Address to nRF24L01
- NRF24L01_Write_Date(W_REGISTER + RX_ADDR_P0, TX_ADDRESS, TX_ADDR_WITDH); // RX_Addr0 same as TX_Adr for Auto.Ack
- NRF24L01_Write_Date(W_REGISTER, Buff, TX_PLOAD_WIDTH); // Writes data to TX payload
- NRF24L01_Write_Register(W_REGISTER + EN_AA, 0x01); // Enable Auto.Ack:Pipe0
- NRF24L01_Write_Register(W_REGISTER + EN_RXADDR, 0x01); // Enable Pipe0
- NRF24L01_Write_Register(W_REGISTER + SETUP_RETR, 0x1a); // 500us + 86us, 10 retrans...
- NRF24L01_Write_Register(W_REGISTER + RF_CH, 40); // Select RF channel 40
- NRF24L01_Write_Register(W_REGISTER + RF_SETUP, 0x27); // TX_PWR:0dBm, Datarate:2Mbps, LNA:HCURR
- NRF24L01_Write_Register(W_REGISTER + CONFIG, 0x0e); // Set PWR_UP bit, enable CRC(2 bytes) & Prim:TX. MAX_RT & TX_DS enabled..
- NRF24L01_CE_HIGH;
- _delay_us(200);//保持10us秒以上
- #ifdef DEBUG
- #endif
- }
复制代码- void NRF24L01_Rx_Mode(void)
- {
- // Power_Off();
- NRF24L01_CE_LOW;
- NRF24L01_Write_Register(W_REGISTER + SETUP_AW,0x02);
- NRF24L01_Write_Date(W_REGISTER + RX_ADDR_P0, TX_ADDRESS, TX_ADDR_WITDH); // Use the same address on the RX device as the TX device
- NRF24L01_Write_Register(W_REGISTER + EN_AA, 0x01); // Enable Auto.Ack:Pipe0
- NRF24L01_Write_Register(W_REGISTER + EN_RXADDR, 0x01); // Enable Pipe0
- NRF24L01_Write_Register(W_REGISTER + RF_CH, 40); // Select RF channel 40
- NRF24L01_Write_Register(W_REGISTER + RX_PW_P0, TX_PLOAD_WIDTH); // Select same RX payload width as TX Payload width
- NRF24L01_Write_Register(W_REGISTER + RF_SETUP, 0x27); // TX_PWR:0dBm, Datarate:2Mbps, LNA:HCURR
- NRF24L01_Write_Register(W_REGISTER + CONFIG, 0x0f); // Set PWR_UP bit, enable CRC(2 bytes) & Prim:RX. RX_DR enabled..
- NRF24L01_CE_HIGH;
- _delay_us(200);
- #ifdef DEBUG
- #endif
- }
复制代码- void NRF24L01_CLERN_ALL(void)
- {
- NRF24L01_Write_Register(W_REGISTER+STATUS,0xff);
- NRF24L01_CSN_LOW;
- NRF24L01_SPI(0xE2);
- NRF24L01_SPI(0xE1);
- NRF24L01_CSN_HIGH;
- }
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|