求教一下有关SD卡的教程

2019-07-20 19:58发布

用的原子哥的SD卡例程中的代码
调用SD_Initialize函数的时候,发现卡在这个循环中
do
{
        r1=SD_SendCmd(CMD0,0,0x95);
}while((r1!=0X01) && retry--);


具体往函数中追踪发现卡在
if(SD_Select())return 0XFF;//片选失效
这一步里

想问一下这是因为硬件原因吗。。
片选的引脚是推挽输出初始化过了的..不知道为什么会片选失效..
求助

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
Monoposto
2019-07-21 07:10
u8 SD_WaitReady(void)
{
        u32 t=0;
        LEDWireless_On;
        do
        {
                if(SD_SPI_ReadWriteByte(0XFF)==0XFF)return 0;//OK
                else if(SD_SPI_ReadWriteByte(0xFF) == 0x00)        LEDDataTransfer_On;
                t++;                         
        }while(t<0XFFFFFF);
        return 1;
}
这个时候两个LED都是亮的


u8 SD_WaitReady(void)
{
        u32 t=0;
        LEDWireless_On;
        do
        {
                if(SD_SPI_ReadWriteByte(0XFF)==0XFF)return 0;//OK
                t++;                         
        }while(t<0XFFFFFF);
        LEDDataTransfer_On;
        return 1;
}
这样就只亮一个灯

一周热门 更多>