原子兄你好,我用你的MMC_SD.C的驱动,版本为2.0,修改时间为//2012/1/10 , 读取1个8GB的SD卡, 我在测试时候做一个间隔一定时间(大约是3秒)轮番读取一个指定扇区数据,发现在开发板上电以后第一次读区的数据一定是错的, 随后都是正确的, 随后我有降低SPI的通讯平率, 当降低到256分频的时候就没有这个问题了,不知道是那里的原因。
while(SD_Initialize()!=0){}
while(1)
{
if(t==9)//??3s??????????
{
if(SD_ReadDisk(buf,63,1)==0)//????MBR????
{
for(sd_size=0;sd_size<512;sd_size++)
{
USART1_SEND_U8(buf[sd_size]); //·???????????
}
}
t=0;
}
t++;
DISP_Scan(NB_O , NB_K );
delay_ms(300);
DISP_Scan(NB_NC , NB_NC);
delay_ms(100);
LED1=!LED1;//LED1????
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
用你的原来例程,问题还是一样的, 每次开发板上电后第一读的扇区数据不正确,但后来再读的数据就是对的, 重新断电再上电还是第一次读的数据是错的
一周热门 更多>