Huang2022 发表于 2022-12-29 22:57:57

求助:micro SD卡初始化不成功

本帖最后由 Huang2022 于 2022-12-30 08:48 编辑

单片机使用STM32F10RCT6,主频72MHz,使用ST的官方例程,SD卡接口接的是STM32的SD卡口,但是在“读取SD卡的SCR寄存器的内容”
static SD_Error FindSCR(uint16_t rca, uint32_t *pscr) 的过程中总是会卡死在这个while循环里面。

while (!(SDIO->STA & (SDIO_FLAG_RXOVERR | SDIO_FLAG_DCRCFAIL | SDIO_FLAG_DTIMEOUT | SDIO_FLAG_DBCKEND| SDIO_FLAG_STBITERR)))
   {                        
   if (SDIO_GetFlagStatus(SDIO_FLAG_RXDAVL) != RESET)      //接收到的数据是否可用
      {         
                      *(tempscr + index) = SDIO_ReadData();
                           index++;      

                /*   //add。这段在官方源码没有加判断            */                     
                        if(index > 1 )
                              break;
    }
      
}
这能说明什么问题呢?

如果把这个while循环屏蔽掉,就直接用不了,原理图也贴上了

还有一个疑问:接了一个屏幕,屏幕也驱动不起来,这是为什么呢?

硬件应该没啥问题,在这之前也有一些初始化过程,都是SD_OK的。
大佬们帮帮忙{:handshake:}

Huang2022 发表于 2022-12-29 22:57:58

本帖最后由 Huang2022 于 2022-12-30 08:53 编辑

sd卡的数据手册也上传了

wye11083 发表于 2022-12-30 00:15:56

sd卡有sd、sdhc、sdxc协议,看看是不是卡不支持,换个老卡试试。

Huang2022 发表于 2022-12-30 08:45:21

wye11083 发表于 2022-12-30 00:15
sd卡有sd、sdhc、sdxc协议,看看是不是卡不支持,换个老卡试试。
(引用自3楼)

好的,我用的是闪迪的16G

陆小凤之北京 发表于 2022-12-30 11:29:40

降一下SD的时钟,低速试试。

lfgc 发表于 2023-1-10 21:21:58

有些卡不支持SPI 模式。不要再试了,直接换卡,会有惊喜 。我在这个问题上卡了一星期。换其它卡一点问题也没有 了。

Huang2022 发表于 2023-1-13 13:55:32

lfgc 发表于 2023-1-10 21:21
有些卡不支持SPI 模式。不要再试了,直接换卡,会有惊喜 。我在这个问题上卡了一星期。换其它卡一点问题也 ...
(引用自6楼)

好的,谢谢

t3486784401 发表于 2023-1-13 14:12:50

去买老式卡,小于1GB那种,兼容性比新卡要好
页: [1]
查看完整版本: 求助:micro SD卡初始化不成功