STM32CubeMX基于SD卡的FATFS文件系统测试(附源码)
来源:互联网 发布:java web直播源码 编辑:程序博客网 时间:2024/05/16 04:57
1.问题描述:使用STM32CubeMX配置SD基于SD卡的FATFS文件系统,并进行测试文件的读写。
2.测试准备:
(1)测试环境:
软件平台:STM32CubeMX -4.22.0;KEIL5
硬件平台:原子战舰V3
测试代码参考硬石例程,下方有附资料链接。此外这是我收藏的帖子地址http://bbs.elecfans.com/forum.php?mod=viewthread&tid=913752&extra=
(2)测试环境搭建:
硬件图就不发了,基本都是一样的。
I.Stm32CubeMX配置:下面是主要配置,其中SD等部分配置可参考前一文章或者自行下载源码查看。
首先是选择开启FATFS,勾选SD Card。
接着是Configuration界面。
配置中间层FATFS选项。
然后下图我开启的是动态的时间戳,硬石的教程里用的是静态的,实际测试两者均能够通过。至此FATS设置基本上完毕,其他默认就好。由此可以体会到这软件是多强大。
由于开启长文件名,且是将缓存放在STACK中的,所以对应在设置工程选项时,堆部分空间也要设置大一点。在cube软件里按ALT+P即可调出设置界面。主要更改下图Minimum Stack Size的值即可。
II.测试代码:
有教程的好处就是拿别人敲好的直接复制过来就可,然后根据具体情况调试更改。嘿嘿
下面先是变量申请:
然后就是测试代码咯:
画横线的部分是对源码做出的主要改动,硬石源码是通过cube生成工程后自己再添加了很多自己的部分。这里本人直接使用软件生成初始化函数,用自带声明的参数去进行判断。不然每一次重新生成工程都要手动屏蔽一大堆代码想想都烦。
但做到这儿,满以为搞定完成,但实际测试时系统卡在下图这个地方。
经DEBUG后发现是系统滴答定时器中断没有进去,仔细检查代码后发现是自己智障勒。。。实际使用时,是可以通过的。但我本身基本不使用系统自带的延时函数,所以直接对这个函数用自己的延时函数重构了。毕竟系统提供的这个延时函数并不是很好。如果有要使用系统自带的延时,可以把测试代码main中的delay_init()屏蔽即可。
3.测试结果:
把SD拔下,用读卡器接入电脑。
测试完成。[]~( ̄▽ ̄)~*
4.参考资料及测试源码:
首先贴出硬石YS-F1Pro开发板HAL库例程参考源码地址下载:
链接 : https://pan.baidu.com/s/1nvtZhVV 密码 : 416v
然后是测试代码:
链接:http://pan.baidu.com/s/1dELZU2t 密码:icei
- STM32CubeMX基于SD卡的FATFS文件系统测试(附源码)
- STM32CubeMX的SDIO模式下对SD卡读写测试(附源码)
- lpc1768 SD卡基于ucos的fatfs文件系统
- 基于STM32的SD卡FATFS文件系统学习笔记
- SD卡的读写和FatFS文件系统
- SD卡的读写和FatFS文件系统
- 基于FATFS文件系统使用SDIO的4线模式在SD卡上写入数据(一)
- 基于STM32F407的FatFs文件系统在SD卡驱动上的移植
- RT-Thread 学习笔记(九)---开启基于SD卡中的 Elm FatFS 文件系统
- 第37章 基于SD卡的FatFs文件系统—零死角玩转STM32-F429系列
- SD卡与fatfs文件系统(1)
- SD卡与fatfs文件系统(2)
- SD卡与fatfs文件系统(3)
- SD卡与fatfs文件系统(4)
- SD卡与fatfs文件系统(1)
- SD卡与fatfs文件系统(2)
- SD卡与fatfs文件系统(3)
- SD卡与fatfs文件系统(4)
- 机器学习教材中的 7 大经典问题
- zookeeper启动失败的排错 no route to host 防火墙未关闭导致的
- 仿网易云音乐
- hdu 1114 完全背包最小值
- 淘客超人介绍
- STM32CubeMX基于SD卡的FATFS文件系统测试(附源码)
- 一句话木马,小马,大马,混淆一句话木马
- [目标检测]YOLO原理
- springboot jar方式启动修改端口
- Codeforces
- linux和windows下,C/C++的sleep函数
- SQL server image截取部分数据,转int类型
- WOJ1024-Exploration
- 无锁单线程内存池