394|0

28

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【匠芯创D133CBS】挂载SD卡文件系统读写测试 [复制链接]

 

大家好,今天我们来玩一点不一样,我看论坛里面其他的小伙伴都在评测一些基础外设,那么我就不出基础外设的教程了,我们来玩一些高级外设,今天我们就来玩一下sd卡。

电脑上的有磁盘的概念,这样会使得我们存储文件非常方便快捷,而我们嵌入式单片机上一般要存储时会使用到eeprom或spi flash,这样相比于电脑上那样存文件来说非常的不便,那么有没有办法让他和电脑上一样方便呢?当然是有的,这里就要接触到一个新的概念了,它就是文件系统

简介:
负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。即在磁盘上组织文件的方法。
常用的文件系统有以下:

FAT / FATFS
NTFS: 基于安全性的文件系统,是Windows NT所采用的独特的文件系统结构
CDFS:CDFS是大部分的光盘的文件系统
exFAT

那么看到这里的小伙伴会不会觉得头大呢,这个文件系统我该怎么用代码去实现呢?起始啊我们写代码就像我们人走路一样,你走过的大多数路别人已经走过了,那么代码也是一样的,文件系统的代码已经有大佬写过了,并且开源了出来,这里我们只选一个常用的来介绍一下:

FATFS文件系统:
FATFS是一个完全免费开源的FAT 文件系统模块,专门为小型的嵌入式系统而设计。完全用标准C 语言编写,所以具有良好的硬件平台独立性。可以移植到8051、PIC、AVR、SH、Z80、H8、ARM 等系列单片机上而只需做简单的修改。它支持FATl2、FATl6 和FAT32,支持多个存储媒介;有独立的缓冲区,可以对多个文件进行读/写,并特别对8 位单片机和16 位单片机做了优化。
FATFS文件系统特点:

Windows兼容的FAT文件系统(支持FAT12/FAT16/FAT32)
与平台无关,移植简单。全C语言编写。
代码量少、效率高。
多种配置选项
支持多卷(物理驱动器或分区,最多10个卷)
多个ANSI/OEM代码页包括DBCS
支持长文件名、ANSI/OEM或Unicode
支持RTOS
支持多种扇区大小
只读、最小化的API和I/O缓冲区等

 

 

那么看到这里相信大家已经了解一些概念了,通俗的来说文件系统就是文件在硬盘或sd中的排列结构,我们需要遵循这个结构去读、写。

值得一提的是我们今天不需要自己去移植fatfs代码到D133CBS上了,匠芯创和RT Thread官方已经做好了适配,我们只需要直接使用即可(这一点必须好评,因为这在项目开发中会大大节省时间),下面我将手把手教大家使用。

先看我的代码:

首先创建一个叫D133.txt的文件,并打开它,待打开成功后写入一些内容测试下

我们编译并烧录测试看看,接上串口看一下日志,可以看到已经显示成功了。
把sd卡拔下来并通过读卡器连接到电脑可以看到已经写入成功了
接下来我们测试一下读文件,我们把sd卡中创建一个read_test.txt文件,然后在里面写上一些内容
然后在代码里面打开这个文件,并读取里面的内容然后在日志中打印出来:
然后编译并烧录,接上串口看日志,可以看到日志中已经打印出了我们的文件内容了:

 

总结: 我们在使用了文件系统后可以实现很多之前单片机做不了的事情,比如保存log到sd卡,从sd卡中读取配置文件等,这也为我们后面的音频录制和音频播放实验打下了基础。

大家不懂的欢迎留言评论

点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表