波仔MP3中SPI_WriteByte问题
还是波仔的MP3程序中unsigned char SPI_WriteByte(unsigned char val)
{
SPDR = val;
while(!(SPSR & BIT(SPIF)));
return SPDR;
}
----
----
----
unsigned char MMC_SD_ReadSingleBlock(unsigned long sector, unsigned char* buffer)
{
unsigned char r1;
unsigned int i,j;
unsigned char retry=0;
//SPI_High();
r1 = MMC_SD_SendCommand(17, sector<<9);
if(r1 != 0x00)
return r1;
SPI_CS_Assert();
//等数据的开始
while(SPI_WriteByte(0xff) != 0xfe)
if(retry++ > 50)
{
SPI_CS_Deassert();
return 1;
}
for(i=0; i<512; i++)//读512个数据 -------------就是在这我只能达到216次再往下就不能跳出循环了
{
*buffer++ = SPI_WriteByte(0xff);
}
SPI_WriteByte(0xff);//伪crc
SPI_WriteByte(0xff);
SPI_CS_Deassert();
//SPI_WriteByte(0xff);// extra 8 CLK
return 0;
}
哪位强悍点的教下我这菜鸟怎么解决这个问题,小弟感激不尽啊
页:
[1]