【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 #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*/
编译下载看结果
视频