nRF24L01 调试难题
时间:10-02
整理:3721RD
点击:
发送端:无ACK,无重发,自己循环发.
状态:FIFO_STATUS 0x11 TX_EMPTY + RX_EMPTY
STATUS 0x0E RX_FIFO_EMPTY
缺了TX_DS呢?
不管,认为FIFO_STATUS已经TX_EMPTY,数据应该发送了,
[另一种怀疑是数据还没装入,等下分析]
发送端:无ACK,无重发,
状态:FIFO_STATUS 0x01 RX_EMPTY
STATUS 0x0E RX_FIFO_EMPTY
[没有收到任何数据]
检查发送端
void nRF24L01_TxPacket(unsigned char * tx_buf)
{
P1OUT &=CE; //StandBy I模式
SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); // 装载接收端地址
SPI_Write_Buf(WR_TX_PLOAD, tx_buf, TX_PLOAD_WIDTH); // 装载数据
P1OUT |=CE; //置高CE,激发数据发送
Delay_us(500);
}
Delay_us使用定时器定时的,准确度会比较高的.
为什么不能发送
状态:FIFO_STATUS 0x11 TX_EMPTY + RX_EMPTY
STATUS 0x0E RX_FIFO_EMPTY
缺了TX_DS呢?
不管,认为FIFO_STATUS已经TX_EMPTY,数据应该发送了,
[另一种怀疑是数据还没装入,等下分析]
发送端:无ACK,无重发,
状态:FIFO_STATUS 0x01 RX_EMPTY
STATUS 0x0E RX_FIFO_EMPTY
[没有收到任何数据]
检查发送端
void nRF24L01_TxPacket(unsigned char * tx_buf)
{
P1OUT &=CE; //StandBy I模式
SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); // 装载接收端地址
SPI_Write_Buf(WR_TX_PLOAD, tx_buf, TX_PLOAD_WIDTH); // 装载数据
P1OUT |=CE; //置高CE,激发数据发送
Delay_us(500);
}
Delay_us使用定时器定时的,准确度会比较高的.
为什么不能发送