-
程序为uint8_t SPI_RD(void)
{
LPC_SSP0->DR = 0xFF;
while ( (LPC_SSP0->SR & (SSPSR_RNE|SSPSR_BSY)) != SSPSR_RNE )
{;}
return (LPC_SSP0->DR);
}
但是还是不行,不知道为什么
-
您好,我用SPI读一个字节为什么总是不成功?代码如下:
uint8_t SPI_RD(void)
{
LPC_SSP0->DR = 0xFF;
while ( (LPC_SSP0->SR & (SSPSR_TNF|SSPSR_BSY)) != SSPSR_TNF )
{;}
return (LPC_SSP0->DR);
}
能帮忙看一下么?
-
是我理解错误,这样写是不是就OK啦?
uint8_t SPI_WR(uint8_t dat){ LPC_SSP0->DR = dat;
while ( (LPC_SSP0->SR & (SSPSR_TNF|SSPSR_BSY)) != SSPSR_TNF ) {;} return (LPC_SSP0->DR);}
-
/**********************************************************//* 函数名称 : SPI_WR *//* 函数功能 : 通过SPI发送一个字节的数据 *//* 参数 : 待发送的字节数据 *//* 返回值 : 无 *//*--------------------------------------------------------*/void SPI_WR(uint8_t c){ while ( (LPC_SSP0->SR & (SSPSR_TNF|SSPSR_BSY)) != SSPSR_TNF ); LPC_SSP0->DR = c; while(((LPC_SSP0->SR) & 0x80) == 0); //等待SPI将数据发送完毕} 您好,请问发送一个字节的数据这个函数为什么到第二个while()那里程序就死掉了?这样写有什么问题么?