|
还是波仔的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;
}
哪位强悍点的教下我这菜鸟怎么解决这个问题,小弟感激不尽啊 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|