F407使用SDIO驱动探测TF卡,能读出容量,但初始化失败。求大佬看下。

发布于 2020-10-29 20:57:12

STM32F407使用RTThread Studio创建项目,并使用SDIO驱动探测TF卡,能读出容量大小,但是初始化失败。且失败后再次重启不会显示。
如图所示
6e0b4fa01ab3a6c7b64780eee3e82dac.png

查看更多

关注者
0
被浏览
373
iamyhw
iamyhw 2020-10-30

看看HAL_SD_MspInit()中初始化IO的地方,
GPIO上下拉电阻如果是GPIO_NOPULL,改为GPIO_PULLUP试试

3 个回答
gaoan1985
gaoan1985 2020-11-04

遇到同样的问题,确实把io口配置成上拉就行了

ching
ching 2020-10-30

先看一下注册设备的名称

    rt_device_register(&blk_dev->dev, "sd0",
                        RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_REMOVABLE | RT_DEVICE_FLAG_STANDALONE);
    rt_list_insert_after(&blk_devices, &blk_dev->list);

mount的时候也要对应上

void sd_mount(void *parameter)
{
    while (1)
    {
        rt_thread_mdelay(500);
        if(rt_device_find("sd0") != RT_NULL)
        {
            if (dfs_mount("sd0", "/", "elm", 0, 0) == RT_EOK)
            {
                LOG_I("sd card mount to '/'");
                break;
            }
            else
            {
                LOG_W("sd card mount to '/' failed!");
            }
        }
    }
}

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览