微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > nRF24L01 TX_DS 不置位

nRF24L01 TX_DS 不置位

时间:10-02 整理:3721RD 点击:
没有使能EN_AA的任何一个应答,

SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH); // TX 两个地址一致
SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); // TX 两个地址一致
SPI_RW_Reg(WRITE_REG + EN_AA, 0x00); // 禁止所有Pipe自动应答
SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x00); // 禁止所有接受通道
SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x00); // 禁止自动重发
SPI_RW_Reg(WRITE_REG + RF_CH, 0); // RF CH 40
SPI_RW_Reg(WRITE_REG + RX_PW_P0, RX_PLOAD_WIDTH); //设置接收数据长度
SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07); // TX_PWR:-12dBm, Datarate:1Mbps, LNA:HCURR
SPI_RW_Reg(WRITE_REG + CONFIG, 0x0e); // Set PWR_UP bit, enable CRC(2 bytes) & Prim:TX. MAX_RT & TX_DS enabled..

发送数据包:
nRF24L01_TxPacket(msg);
得到FIFO_STATUS是0x11 TX空,RX空
得到STATUS是0x0E,TX_DS无置位

明显EN_AA已经是0x00了,为什么还不能置位

如果读STATUS 是 0X0E的话,, TX_DS是第五位啊, 其值就是 个0

TX_DS应该为1才正确啊

我调试的经验可能的问题在发送的速率,发送时间。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top