[技术讨论] 求助:micro SD卡初始化不成功

[复制链接]
792|2
 楼主| 经济建设为中心 发表于 2022-12-29 23:03 | 显示全部楼层 |阅读模式
本帖最后由 经济建设为中心 于 2022-12-29 23:20 编辑

单片机使用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的。
大佬们帮帮忙
 楼主| 经济建设为中心 发表于 2022-12-29 23:08 | 显示全部楼层
本帖最后由 经济建设为中心 于 2022-12-30 08:49 编辑

SD卡原理图也贴上了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
coody 发表于 2022-12-30 14:49 | 显示全部楼层
要先用比较慢的速度初始化,初始化成功后转到高速。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

12

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部