【MM32F5270开发板试用】五、rt-thread 利用SPI接口驱动SD卡

篇文章来自极术社区与灵动组织的MM32F5270开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:Magicoe是攻城狮

之前SPI接的是个2.4寸的小屏幕,鉴于MM32F5270片上没有SDIO接口用的是SPI拓展的SD卡,反正开发板上有硬件 不安排上不太好。

上一节咱们提到了加入spi_msd.c的驱动放到keil的工程里
https://aijishu.com/a/1060000…
然后添加rtt的文件系统,具体文件看下图

相关.h文件的路径也要添加工程设置里哦

接下来就是万年要去修改的rtconfig.h,把文件系统相关的宏定义使能了

最后把drv_spi_tfcard.c源文件放到工程里
这里SD卡接口连接的是SPI3,在之前SPI驱动里已经完成了基本的初始化

/*
 * Copyright (c) 2006-2018, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author            Notes
 * 2018-8-23      SummerGift        the first version
 */

#include <rtthread.h>
#include <rtdevice.h>
#include "drv_spi.h"
#include "spi_msd.h"
#include <dfs_fs.h>

#define DBG_TAG "sdcard"
#define DBG_LVL DBG_ERROR
#include <rtdbg.h>

#ifdef BSP_USING_TF_CARD

static int rt_hw_spi3_tfcard(void)
{
    lpc_spi_bus_attach_device("spi3", "spi30", 13);
    return msd_init("sd0", "spi30");
}
INIT_COMPONENT_EXPORT(rt_hw_spi3_tfcard);


#ifdef RT_USING_FINSH
#include <finsh.h>

#ifdef FINSH_USING_MSH

int sdcard_mount(void)
{
    
#ifdef BSP_USING_TF_CARD
    /* 挂载 TF 卡中的文件系统,参数 elm 表示挂载的文件系统类型为 elm-fat 文件系统*/
    if (dfs_mount("sd0", "/", "elm", 0, 0) == 0)
    {
        LOG_I("Filesystem initialized!");
    }
    else
    {
        LOG_E("Failed to initialize filesystem!");
    }
#endif /*BSP_USING_TF_CARD*/
    return 0;
}
MSH_CMD_EXPORT(sdcard_mount, sdcard_mount);

#endif
#endif
#endif /*BSP_USING_TF_CARD*/

编译下载看结果

视频

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值