打印
[技术讨论]

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

[复制链接]
512|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 经济建设为中心 于 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卡原理图也贴上了

SD卡原理图.png (64.52 KB )

SD卡原理图.png

使用特权

评论回复
板凳
coody| | 2022-12-30 14:49 | 只看该作者
要先用比较慢的速度初始化,初始化成功后转到高速。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

12

帖子

1

粉丝