找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1466|回复: 0
打印 上一主题 下一主题
收起左侧

超轻量级FatFS文件系统STM32单片机源码

[复制链接]
跳转到指定楼层
楼主
ID:1020630 发表于 2022-4-22 12:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
安富莱的资料 看附件。

例程简介
    本例程移植了R0.10b版本的FatFS文件系统,采用板载的8MB SPI Flash作为存储介质。

    FatFS文件系统的移植说明见: \User\FatFS\FatFS移植记录.txt

    核心文件为:
    bsp_spi_flash.c/.h : SPI Flash底层驱动代码
    demo_spi_flash_fatfs.c/.h  演示FatFS API接口函数的使用方法的主程序。

    配置GPIO的bsp_InitSFlash函数在执行 f_mount() 挂在文件系统时会被调用。因此,没有在 bsp.c 中添加SPI的初始化。

    注意:为了支持长文件名,FatFS必须包含 cc936.c 文件,其中 static const WCHAR uni2oem[] 常量数组
    是一个GB2312码和UNICODE代码的转换表,会占用程序空间约170K字节。
    如果不需要支持长文件名,则代码空间可节约 170K字节。

    由于支持长文件名,代码大小超过了128K,因此不能在CpuRAM调试,除非去除长文件名的支持。

    程序功能有:
    (0) 输入字符0,对SPI Flash进行文件系统格式化。
    (1) 输入字符1,打印SD根目录下的文件和文件夹列表。
    (2) 输入字符2,在SD卡根目录下创建一个文件,文件名为 armfly.txt
        并且向该文件写入一个字符串。
    (3) 输入字符3,打开SD卡根目录下的armfly.txt文件,读出其内容,打印到串口。
    (4) 输入字符4,创建打开SD卡根目录下的armfly.txt文件,读出其内容,打印到串口。
    (5) 输入字符5,删除之前创建的测试文件和目录
    (6) 输入字符6,写一个2M的文件speed1.txt,测试读写速度

【2】执行结果
    请用USB转串口线连接PC机和开发板。PC机上运行SecureCRT软件,波特率设置为 115200bps,无硬件流控

    从PC机的软件界面观察程序执行结果,结果如下:【通过PC机键盘输入命令】

------------------------------------------------
第一次使用请选择命令0进行SPI Flash格式化
请选择操作命令:
0 - 对SPI_Flash进行文件系统格式化
1 - 显示SD卡根目录下的文件列表
2 - 创建一个新文件armfly.txt
3 - 读armfly.txt文件的内容
4 - 创建目录
5 - 删除文件和目录
6 - 读写文件速度测试

【0 - FileFormat】
挂载文件系统成功 (FR_OK:成功)
格式化成功 (FR_OK:成功)
卸载文件系统成功 (FR_OK:成功)

【1 - ViewRootDir】
挂载文件系统成功 (FR_OK:成功)
属性        |  文件大小 | 短文件名 | 长文件名
卸载文件系统成功 (FR_OK:成功)

【2 - CreateNewFile】
armfly.txt 文件写入成功

【3 - ReadFileData】

armfly.txt 文件内容 :
FatFS Write Demo

【4 - CreateDir】
f_mkdir Dir1 Ok
f_mkdir Dir2 Ok
f_mkdir Dir1_1 成功

【5 - DeleteDirFile】
删除Dir1失败(错误代码 = FR_DENIED:由于禁止访问或者目录已满访问被拒绝) 文件只读或目录非空
删除子目录/Dir1/Dir1_1成功
删除目录Dir1成功
删除目录 Dir2 成功
删除文件 armfly.txt 成功
没有发现文件:Speed00.txt
没有发现文件:Speed01.txt
没有发现文件:Speed02.txt
没有发现文件:Speed03.txt
没有发现文件:Speed04.txt
没有发现文件:Speed05.txt
没有发现文件:Speed06.txt
没有发现文件:Speed07.txt
没有发现文件:Speed08.txt
没有发现文件:Speed09.txt
没有发现文件:Speed10.txt
没有发现文件:Speed11.txt
没有发现文件:Speed12.txt
没有发现文件:Speed13.txt
没有发现文件:Speed14.txt
没有发现文件:Speed15.txt
没有发现文件:Speed16.txt
没有发现文件:Speed17.txt
没有发现文件:Speed18.txt
没有发现文件:Speed19.txt

【6 - TestSpeed】
开始写文件Speed00.txt 2048KB ...
................................................................
  写耗时 : 10922ms   平均写速度 : 192011B/S (187KB/S)
开始读文件 2048KB ...
................................................................
  读耗时 : 2422ms   平均读速度 : 865876B/S (845KB/S)

【6 - TestSpeed】
开始写文件Speed01.txt 2048KB ...
................................................................
  写耗时 : 10711ms   平均写速度 : 195794B/S (191KB/S)
开始读文件 2048KB ...
................................................................
  读耗时 : 2421ms   平均读速度 : 866233B/S (845KB/S)


Keil代码下载: V5-107e_FatFS文件系统例程(SPI串行Flash).7z (2.43 MB, 下载次数: 47)

评分

参与人数 1黑币 +40 收起 理由
admin + 40 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表