?/P>
BOOL radioReceive(BYTE** receiveData, BYTE* length, WORD timeout, BYTE* sender)
{
BOOL status = TRUE;//状态字
BOOL continueWaiting = TRUE;//是否连续等待状态字
BOOL useTimeout = FALSE;//是否使用超时状态字
if(timeout)
{
useTimeout = TRUE;
}
sppReceive(&rxData)//接收数据;
while((sppRxStatus != RX_COMPLETE) && (continueWaiting))
{
if(useTimeout)
{
halWait(0x01);
timeout--;
?/P>
if(timeout == 0)
{
continueWaiting = FALSE;
status = FALSE;
STOP_RADIO();
}
}
}
if(status == TRUE)
{
*receiveData = rxData.payload;//接收数据
*length = rxData.payloadLength;//接收数据长度
*sender = rxData.srcAddress;//接受数据的源地址
}
return status;//返回是否受到数据包状态字
}
文章评论(0条评论)
登录后参与讨论