nrf24l01带数据返回的ack,并且可以实现变数据长度收发
三个缓冲区,先进先出 first in – first out,第一个截图最后说了,要是保证缓存的就是要发送的,请清除FLUSH_TX
If the TX FIFO (PRX) contains more than one payload to a PTX, payloads are handled using the first in –
first out principle. The TX FIFO (PRX) is blocked if all pending payloads are addressed to a PTX where the
link is lost. In this case, the MCU can flush the TX FIFO (PRX) by using the FLUSH_TX command.也就是修改下面这个函数
void NRF24L01_PacketAckData(u8*pBuf,u8 Len)//发送数据包,用于发送模式2/4?
{
NRF24L01_CE=0;
NRF24L01_Write_Buf(W_ACK_PAYLOAD,pBuf,Len);
NRF24L01_CE=1;
}
void NRF24L01_PacketAckData(u8*pBuf,u8 Len)//发送数据包,用于发送模式2/4?
{
NRF24L01_CE=0;
NRF24L01_Write_Reg(FLUSH_TX, 0xff);
NRF24L01_Write_Buf(W_ACK_PAYLOAD,pBuf,Len);
NRF24L01_CE=1;
}
不过也仅限于提前装载ack数据的方案
4:参考的例子很多才搞好,参考的例子就不附带了