STM32 基础系列教程 30 - 文件系统

时间:2024-04-10 21:14:01

前言

学习stm32中FATFS 文件系统的基础使用,学会文件的打开及读写删除等基本操作,理解文件系统基本概念。

 

示例详解

基于硬件平台: STM32F10C8T6最小系统板, MCU 的型号是 STM32F103c8t6, 使用stm32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。

 

STM32 基础系列教程 30 - 文件系统

 

本示例所用的最小系统板原理图:

STM32 基础系列教程 30 - 文件系统

 

    1. 关于CUBEMX工具及KEIL工具的操作将不再细讲,如果还有不熟悉的可以查看之前的教程文档。下面直接介绍工程配置:

 

      1. 系统时钟树

STM32 基础系列教程 30 - 文件系统

      1. 文件系统配置(使能文件系统,参数保持默认也可,实际应用可能适当修改参数,参数的作用也很好理解)

STM32 基础系列教程 30 - 文件系统

      1. 串口引脚配置(开启串口1,用于输出调试信息)

STM32 基础系列教程 30 - 文件系统

      1. RTC配置(用于为文件系统提供时间,非必需)

STM32 基础系列教程 30 - 文件系统

      1. 中断配置(保持默认即可)
      2. 设置Stack大小

STM32 基础系列教程 30 - 文件系统

      1. 调整模块初始化顺序

 

STM32 基础系列教程 30 - 文件系统

 

    1. 工程代码
      1. 在工程中将事先准备好的flash.c及flash.h文件加入工程,并分别在main.c, user_diskio.c及fatfs.c中加入如下图所示代码:

STM32 基础系列教程 30 - 文件系统

STM32 基础系列教程 30 - 文件系统

STM32 基础系列教程 30 - 文件系统

STM32 基础系列教程 30 - 文件系统

STM32 基础系列教程 30 - 文件系统

STM32 基础系列教程 30 - 文件系统

STM32 基础系列教程 30 - 文件系统

STM32 基础系列教程 30 - 文件系统

STM32 基础系列教程 30 - 文件系统

STM32 基础系列教程 30 - 文件系统

 

 

 

 

    1. 上面的代码首先是完成文件系统的初值化,并创建并打开一个文件,往文件中写入指定字符串后关闭文件,并再次打开文件并读取文件内容,若读回的文件内容与写入一致,即可认为文件系统操作及文件的读写操作是成功的。将上面工程编译,烧录到开发板,用串口工具查看串口1的程序操作及文件内容:

STM32 基础系列教程 30 - 文件系统

OK,本期实验完成!下期见!同时如果大家有什么疑问或是有想了解的其它内容,也欢迎大家留言!!最后喜欢这个公众号的同学们记得加关注了,每天都会有技术干货推出!!

 

 

文中资料及源码下载,在公众号里给十三发消息:

下载|STM32基础系列教程30

STM32 基础系列教程 30 - 文件系统

 

关注十三公众号

STM32 基础系列教程 30 - 文件系统