在SD卡的读写中用到SPI_WriteByte(0xff),其中0xff为什么就是表示正在读取数据呢?
下面是SPI_WriteByte的函数形式:unsignedcharSPI_WriteByte(unsignedcharval){SPI2BUF=val;//发送数据wh...
下面是SPI_WriteByte的函数形式:
unsigned char SPI_WriteByte(unsigned char val)
{
SPI2BUF = val; //发送数据
while(!IFS2bits.SPI2IF); //等待发送完成
IFS2bits.SPI2IF = 0; //清除标志位
return SPI2BUF; //读取接收寄存器
}
函数在这里有调用:
while(SPI_WriteByte(0xff)!= 0xfe) //等待接收到开始字节
for(i=0; i<=255; i++) //读255个数据
{
SDTest[i]= SPI_WriteByte(0xff); //读取接收到的数据
}
搞不懂for循环里面的函数意义,希望大家指点! 展开
unsigned char SPI_WriteByte(unsigned char val)
{
SPI2BUF = val; //发送数据
while(!IFS2bits.SPI2IF); //等待发送完成
IFS2bits.SPI2IF = 0; //清除标志位
return SPI2BUF; //读取接收寄存器
}
函数在这里有调用:
while(SPI_WriteByte(0xff)!= 0xfe) //等待接收到开始字节
for(i=0; i<=255; i++) //读255个数据
{
SDTest[i]= SPI_WriteByte(0xff); //读取接收到的数据
}
搞不懂for循环里面的函数意义,希望大家指点! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询