PAN297发送注意事项

Viewed 3
void RF_TxData(uint8_t *ucPayload, uint8_t length)
{
    CE_HIGH(); // write data to txfifo ;1Mbps 可以延时1ms;250Kbps,延时2ms
    RF_WriteBuf(W_TX_PAYLOAD, ucPayload, length);
    CE_LOW(); // rf entery tx mode start send data                                                                       		//rf entery stb3
    delay_us(1 * 1000);
}

加载完发送FIFO数据后,必须延时1ms以上才能去判断是否发送完成中断位

    uint8_t status = RF_GetStatus();
    if ((!status) || (status == 0xff))
    {
        return;
    }
    if (!rfMode)
    {
        return;
    }
    if (status & TX_DS_FLAG)
    {
        RF_ClearFIFO();
        RF_ClearStatus();
        rfMode = 0;
        rxCb(TX_STA_SECCESS, rfRxPacket);
    }

如果不加延时,会出现接收数据混乱,当前收到的数据是上一次发送的

0 Answers
Related