RT-Thread+STM32L475VET6——TF 卡文件系统


文章目录

  • 前言
  • 一、板载资源
  • 二、具体步骤
    • 1.打开CubeMX进行USB配置
      • 1.1 使用外部高速时钟,并修改时钟树
      • 1.2 打开SPI1,参数默认即可(SPI根据自己需求调整)
      • 1.3 打开串口,参数默认
      • 1.4 生成工程
    • 2.配置SPI
      • 2.1 打开SPI驱动
      • 2.2 声明使用SPI1
      • 2.3 将stm32l4xx_hal_msp.c中void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)和void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)剪切至board.c
      • 2.4 使能SPI
    • 3. 打开其他配置
    • 编译,烧录


前言

本文采用开发板为STM32L475VET6(潘多拉开发板),使用RT_Thread Studio基于芯片开发模式,系统版本为4.0.3,完成TF 卡文件系统实验,展示如何在 TF 卡上创建文件系统(格式化卡),并挂载文件系统到 rt-thread 操作系统中


一、板载资源

TF 卡座通过 4 根线与 STM32 连接,SD 卡的片选(SD_CS)连接 PC3, SD 卡的 SPI 接口连接在 STM32L4 的 SPI1 上面
在这里插入图片描述

在这里插入图片描述

二、具体步骤

1.打开CubeMX进行USB配置

1.1 使用外部高速时钟,并修改时钟树

在这里插入图片描述
在这里插入图片描述

1.2 打开SPI1,参数默认即可(SPI根据自己需求调整)

在这里插入图片描述

1.3 打开串口,参数默认

在这里插入图片描述

1.4 生成工程

在这里插入图片描述

2.配置SPI

官方给出教程
在这里插入图片描述

2.1 打开SPI驱动

在这里插入图片描述

2.2 声明使用SPI1

在这里插入图片描述

2.3 将stm32l4xx_hal_msp.c中void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)和void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)剪切至board.c

在这里插入图片描述

2.4 使能SPI

在这里插入图片描述

3. 打开其他配置

在这里插入图片描述
在这里插入图片描述

编译,烧录

测试代码

/** Copyright (c) 2006-2025, RT-Thread Development Team** SPDX-License-Identifier: Apache-2.0** Change Logs:* Date           Author       Notes* 2025-02-22     RT-Thread    first version*/#include <rtthread.h>
#include <board.h>
#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
static int rt_hw_spi1_tfcard(void)
{__HAL_RCC_GPIOC_CLK_ENABLE();rt_hw_spi_device_attach("spi1", "spi10", GPIOC, GPIO_PIN_3);return msd_init("sd0", "spi10");
}
INIT_APP_EXPORT(rt_hw_spi1_tfcard);#include <rtthread.h>
#include <dfs_fs.h>#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>int main(void)
{/* 挂载 TF 卡中的文件系统,参数 elm 表示挂载的文件系统类型为 elm-fat 文件系统*/if (dfs_mount("sd0", "/", "elm", 0, 0) == 0){LOG_I("Filesystem initialized!");}else{LOG_E("Failed to initialize filesystem!");}return 0;
}

在这里插入图片描述
如果显示Failed to initialize filesystem!,这是因为 TF 卡中还没有创建文件系统。如果确定自己的卡是 fat 格式,在 msh 中使用命令 mkfs -t elm sd0 可以在块设备 sd0 中创建 elm-fat 类型的文件系统,即对 TF 卡执行格式化。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/24392.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW形状误差测量系统

在机械制造领域&#xff0c;形状与位置公差&#xff08;GD&T&#xff09;直接影响装配精度与产品寿命。国内中小型机加工企业因形状误差导致的返工率高达12%-18%。传统测量方式存在以下三大痛点&#xff1a; ​ 设备局限&#xff1a;机械式千分表需人工读数&#xff0c;精度…

【c语言】字符函数和字符串函数(1)

一、字符分类函数 c语言中有部分函数是专门做字符分类的&#xff0c;也就是一个字符是属于什么类型的字符&#xff0c;这些函 数的使用要包含一个头文件ctype.h中。 其具体如下图所示&#xff1a; 这些函数的使用方式都类似&#xff0c;下面我们通过一个函数来看其…

【Python LeetCode 专题】动态规划

斐波那契类型70. 爬楼梯746. 使用最小花费爬楼梯198. 打家劫舍740. 删除并获得点数矩阵62. 不同路径方法一:二维 DP方法二:递归(`@cache`)64. 最小路径和63. 不同路径 II120. 三角形最小路径和221. 最大正方形字符串139. 单词拆分5. 最长回文子串516. 最长回文子序列72. 编…

Linux相关知识(文件系统、目录树、权限管理)和Shell相关知识(字符串、数组)

仅供自学&#xff0c;请去支持javaGuide原版书籍。 1.Linux 1.1.概述 Linux是一种类Unix系统。 严格来讲&#xff0c;Linux 这个词本身只表示 Linux内核&#xff0c;单独的 Linux 内核并不能成为一个可以正常工作的操作系统。所以&#xff0c;就有了各种 Linux 发行版&#…

第九节: Vue 3 中的 provide 与 inject:优雅的跨组件通信

文章目录 前言什么是 provide 和 inject&#xff1f;provide 的基本使用inject 的基本使用provide 提供响应式数据数据provide 提供修改数据的方法provide 提供只读响应数据provide 使用symbol作为注入名inject 默认值总结 前言 在 Vue 3 中&#xff0c;provide 和 inject 是一…

prometheus+node_exporter+grafana监控K8S信息

prometheusnode_exportergrafana监控K8S 1.prometheus部署2.node_exporter部署3.修改prometheus配置文件4.grafana部署 1.prometheus部署 包下载地址&#xff1a;https://prometheus.io/download/ 将包传至/opt 解压 tar xf prometheus-2.53.3.linux-amd64.tar.gz 移动到…

C/C++流星雨

系列文章 序号直达链接1C/C李峋同款跳动的爱心2C/C跳动的爱心3C/C经典爱心4C/C满屏飘字5C/C大雪纷飞6C/C炫酷烟花7C/C黑客帝国同款字母雨8C/C樱花树9C/C奥特曼10C/C精美圣诞树11C/C俄罗斯方块小游戏12C/C贪吃蛇小游戏13C/C孤单又灿烂的神14C/C闪烁的爱心15C/C哆啦A梦16C/C简单…

理解 MHA、GQA、MQA 和 MLA:多头注意力的变种及其应用

在深度学习、自然语言处理&#xff08;NLP&#xff09;和计算机视觉&#xff08;CV&#xff09;中&#xff0c;多头注意力&#xff08;Multi-Head Attention, MHA&#xff09;是 Transformer 结构的核心。近年来&#xff0c;MHA 产生了多个变体&#xff0c;如 GQA&#xff08;G…

Crack SmartGit

感谢大佬提供的资源 一、正常安装SmartGit 二、下载crackSmartGit crackSmartGit 发行版 - Gitee.com 三、使用crackSmartGit 1. 打开用户目录&#xff1a;C:\Users%用户名%\AppData\Roaming\syntevo\SmartGit。将crackSmartGit.jar和license.zip拷贝至 用户目录。 2. 用户…

将CUBE或3DL LUT转换为PNG图像

概述 在大部分情况下&#xff0c;LUT 文件通常为 CUBE 或 3DL 格式。但是我们在 OpenGL Shader 中使用的LUT&#xff0c;通常是图像格式的 LUT 文件。下面&#xff0c;我将教大家如何将这些文件转换为 PNG 图像格式。 条形LUT在线转换&#xff08;不是8x8网络&#xff09;&am…

关于命令行下的 git( git add、git commit、git push)

文章目录 关于 gitgit 的概念git 操作&#xff08;git add、git commit、git push 三板斧&#xff09;安装 git新建仓库及配置git clone.gitignoregit addgit commitgit push其他 git 指令git pull&#xff08;把远端的东西拉到本地进行同步&#xff09;其他指令 关于 git git…

一文讲解Redis中的数据一致性问题

一文讲解Redis中的数据一致性问题 在技术派实战项目中&#xff0c;我们采用的是先写 MySQL&#xff0c;再删除 Redis 的方式来保证缓存和数据库的数据一致性。 我举例说明一下。 对于第一次查询&#xff0c;请求 B 查询到的缓存数据是 10&#xff0c;但 MySQL 被请求 A 更新为…

论文笔记(七十二)Reward Centering(五)

Reward Centering&#xff08;五&#xff09; 文章概括摘要附录B 理论细节C 实验细节D 相关方法的联系 文章概括 引用&#xff1a; article{naik2024reward,title{Reward Centering},author{Naik, Abhishek and Wan, Yi and Tomar, Manan and Sutton, Richard S},journal{arX…

使用 Python 进行批量解压 .rar 文件

在进行解压 .rar 文件之前&#xff0c;需要进行下载外部工具包&#xff0c;参考以下地址&#xff1a; WinRAR archiver, a powerful tool to process RAR and ZIP filesWinRAR is a Windows data compression tool that focuses on the RAR and ZIP data compression formats …

夜莺监控 - 边缘告警引擎架构详解

前言 夜莺类似 Grafana 可以接入多个数据源&#xff0c;查询数据源的数据做告警和展示。但是有些数据源所在的机房和中心机房之间网络链路不好&#xff0c;如果由 n9e 进程去周期性查询数据并判定告警&#xff0c;那在网络链路抖动或拥塞的时候&#xff0c;告警就不稳定了。所…

Apache DolphinScheduler系列1-单节点部署及测试报告

文章目录 整体说明一、部署环境二、版本号三、部署方案四、部署步骤4.1、上传部署包4.2、创建外部数据库4.3、修改元数据库配置4.4、上传MySQLl驱动程序4.5、初始化外部数据库4.6、启停服务4.7、访问页面五、常见问题及解决方式5.1、时间不一致5.2、异常终止5.3、大量日志5.4、…

CNN 卷积神经网络

前置基础知识 convolution operator 卷积运算 输入矩阵循环取子矩阵跟filter(kernal)按位乘后加和作为输出矩阵对应位置的值。 convolution与cross correlation 上面操作实际是cross correlation操作&#xff0c;两者之间的唯一区别是卷积操作需要在开始计算之前将卷积核进行…

docker部署go简单web项目(无mysql等附加功能)

首先准备好go语言代码 代码表示当访问主机上8080端口下的/hello路径时&#xff0c;会返回hello&#xff0c;world。 package mainimport ("fmt""github.com/gin-gonic/gin" )type hh struct {S string }func main() {router : gin.Default()router.GET(&…

C语言:字符函数和字符串函数

1.字符函数 在 C 语言中&#xff0c;字符分类函数主要定义在<ctype.h>头文件中&#xff0c;这些函数可以用来判断一个字符是否属于特定的字符类别&#xff0c;下面为你详细介绍一些常用的字符分类函数&#xff1a; 1.1 iscntrl 功能&#xff1a;判断一个字符是否为控制…

全域旅游景区导览系统:赋能智慧旅游生态,破解行业核心难题

全域旅游景区导览系统&#xff1a;赋能智慧旅游生态&#xff0c;破解行业核心难题 ——整合旅游商城、非遗文化与全域服务的一站式解决方案 一、行业痛点&#xff1a;传统旅游服务模式的局限性 随着旅游业从单一景区游览向“全域旅游”转型&#xff0c;传统服务模式暴露出诸多…