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

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


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

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

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

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

相关.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 #include #include "drv_spi.h"#include "spi_msd.h"#include #define DBG_TAG "sdcard"#define DBG_LVL DBG_ERROR#include #ifdef BSP_USING_TF_CARDstatic 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 #ifdef FINSH_USING_MSHint 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*/

编译下载看结果

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

视频

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

88读书网