STM32F103 SPI1 读取SD初始化失败,请教大神。。

2019-10-11 16:46发布

请教大家,我在用STM32F103 SPI1读取TF卡,用的是正点MINI的代码,在初始化时候通不过,我跟踪了一下,在下面这个地方,不解,请指教,感谢!
//初始化SD卡
u8 SD_Initialize(void)
{
        u8 r1;      // 存放SD卡的返回值
        u16 retry;  // 用来进行超时计数
        u8 buf[4];  
        u16 i;

        SD_SPI_Init();                //初始化IO
        SD_SPI_SpeedLow();        //设置到低速模式
        for(i=0;i<10;i++)SD_SPI_ReadWriteByte(0XFF);//发送最少74个脉冲
        retry=20;
        do
        {
                r1=SD_SendCmd(CMD0,0,0x95);//进入IDLE状态
        }while((r1!=0X01) && retry--);
        SD_Type=0;//默认无卡
        if(r1==0X01)     //这个条件一直不满足,进不去
        {
                if(SD_SendCmd(CMD8,0x1AA,0x87)==1)//SD V2.0


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
代码人生
1楼-- · 2019-10-12 15:31
我找找大卡来试试,这个地方还是TF卡有问题
box89
2楼-- · 2019-10-12 21:28
我也遇到这种情况,我的反馈回的r1是0x00,可以观察一下spi时钟发的是不是74个脉冲
for(i=0;i<10;i++)SD_SPI_ReadWriteByte(0XFF);//发送最少74个脉冲

一周热门 更多>