2019-03-24 14:58发布
楼主用SSIDataGetNonBlocking试试,如果我猜的没错不会再卡死在那里,但是返回值应该是0.
//*****************************************************************************//! 接收数据,把一个数据读出RX FIFO(如无数据直接返回)//!//! param ulBase SSI基础地址//! param pulData 接收数据的指针//!//! eturn 有数据返回1,如无数据返回0//*****************************************************************************longSSIDataGetNonBlocking(unsigned long ulBase, unsigned long *pulData){ // Check the arguments. ASSERT(SSIBaseValid(ulBase));
// 确认SSISR[RNE],RNE:为1说明Receive FIFO不为空 if(HWREG(ulBase + SSI_O_SR) & SSI_SR_RNE) { *pulData = HWREG(ulBase + SSI_O_DR); return(1); } else { return(0); }}
最多设置5个标签!
楼主用SSIDataGetNonBlocking试试,如果我猜的没错不会再卡死在那里,但是返回值应该是0.
//*****************************************************************************
//! 接收数据,把一个数据读出RX FIFO(如无数据直接返回)
//!
//! param ulBase SSI基础地址
//! param pulData 接收数据的指针
//!
//! eturn 有数据返回1,如无数据返回0
//*****************************************************************************
long
SSIDataGetNonBlocking(unsigned long ulBase, unsigned long *pulData)
{
// Check the arguments.
ASSERT(SSIBaseValid(ulBase));
// 确认SSISR[RNE],RNE:为1说明Receive FIFO不为空
if(HWREG(ulBase + SSI_O_SR) & SSI_SR_RNE)
{
*pulData = HWREG(ulBase + SSI_O_DR);
return(1);
}
else
{
return(0);
}
}
一周热门 更多>