我使用的是LPC2378,我用以下程序会出现在while处死循环的情况
SPISndByte(uint8 data)
{
CS_LOW();
S0SPDR = data;
while(0==(S0SPSR & 0x80));
CS_HIGH();
}
然后改成以下方式收发一切正常:
SPISndByte(uint8 data)
{uint8 i=0;
CS_LOW();
S0SPDR = data;
while((0==(S0SPSR & 0x80))&&(++i<200));
CS_HIGH();
}
想请教为什么S0SPSR有时候一直处于忙状态?
|