|
uint8_t nRF24L01_TxData(uint8_t *_pTxBuf)
{
uint8_t ucState;
uint32_t ulCount = 0;
/*CEÎaμí£¬½øèë′y»úÄ£ê½1*/
nRF24L01_CE_0();
/*D′êy¾Yμ½_pTxBuf×î′ó32¸ö×Ö½ú*/
nRF24L01_WriteBuf(WR_TX_PLOAD, _pTxBuf, TX_PLOAD_WIDTH);
/*CEÎa¸ß£¬_pTxBuf·Ç¿Õ£¬·¢Ëíêy¾Y°ü */
nRF24L01_CE_1();
/*
μè′y·¢Ëííê3éÖD¶Ï
while(nRF24L01_IRQ_Read()!=0);
Ñ¡ÔñÏÂÃæÕaÖÖ·½ê½¿éòÔóDD§·àÖ1·¢Ëíêy¾Y×èèûê±£¬ËàÔúÕa¸ö×′ì¬
*/
while((nRF24L01_IRQ_Read() != 0) && (ulCount < 65535))
{
ulCount++;
}
if(ulCount >= 65535)
{
return 0;
}
/* ¶áè¡×′쬼Ä′æÆ÷μÄÖμ */
ucState = nRF24L01_ReadReg(STATUS);
/*Çå3yTX_DS»òMAX_RTÖD¶Ï±êÖ¾*/
nRF24L01_WriteReg(NRF_WRITE_REG+STATUS, ucState);
nRF24L01_WriteReg(FLUSH_TX,NOP); /* Çå3yTX FIFO¼Ä′æÆ÷ */
/*ÅD¶ÏÖD¶ÏààDí*/
/* ′ïμ½×î′óÖØ·¢′Îêy */
if(ucState & MAX_RT)
{
return MAX_RT;
}
/* ·¢Ëííê3é */
else if(ucState & TX_DS)
{
return TX_DS;
}
/* ÆäËûÔ-òò·¢Ëíê§°ü */
else
{
return 0;
}
} |
|