求助: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-30 08:53 编辑
sd卡的数据手册也上传了 sd卡有sd、sdhc、sdxc协议,看看是不是卡不支持,换个老卡试试。 wye11083 发表于 2022-12-30 00:15
sd卡有sd、sdhc、sdxc协议,看看是不是卡不支持,换个老卡试试。
(引用自3楼)
好的,我用的是闪迪的16G 降一下SD的时钟,低速试试。 有些卡不支持SPI 模式。不要再试了,直接换卡,会有惊喜 。我在这个问题上卡了一星期。换其它卡一点问题也没有 了。 lfgc 发表于 2023-1-10 21:21
有些卡不支持SPI 模式。不要再试了,直接换卡,会有惊喜 。我在这个问题上卡了一星期。换其它卡一点问题也 ...
(引用自6楼)
好的,谢谢 去买老式卡,小于1GB那种,兼容性比新卡要好
页:
[1]