OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4398|回复: 6

FATFS读文件简单问题咨询

[复制链接]

20

主题

87

帖子

0

精华

初级会员

Rank: 2

积分
189
金钱
189
注册时间
2014-8-24
在线时间
0 小时
发表于 2014-11-29 17:35:46 | 显示全部楼层 |阅读模式
5金钱
问个简单的问题,FATFS使用f_read函数读取文件内容之前是不是一定要先用f_open打开文件?

最佳答案

查看完整内容[请看2#楼]

对的,读写之前都要先打开,打开的操作会初始化文件对象的一些参数
哥的世界,你们不懂!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

17

主题

293

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2012-12-26
在线时间
1 小时
发表于 2014-11-29 17:35:47 | 显示全部楼层
对的,读写之前都要先打开,打开的操作会初始化文件对象的一些参数
回复

使用道具 举报

20

主题

87

帖子

0

精华

初级会员

Rank: 2

积分
189
金钱
189
注册时间
2014-8-24
在线时间
0 小时
 楼主| 发表于 2014-11-29 21:30:55 | 显示全部楼层
回复【2楼】kassandra:
---------------------------------
再请教你一个问题,假如我要读SD卡里面一个txt文件,文件就那么一句话“HELLO”,把这文件的内容读到buffer的时候会不会把文件结束符也读出来?还有读操作是不是一定要整簇的读,还是可以随意读多少都行?
哥的世界,你们不懂!
回复

使用道具 举报

17

主题

293

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2012-12-26
在线时间
1 小时
发表于 2014-11-30 03:04:22 | 显示全部楼层
回复【3楼】CMOS:
---------------------------------
使用了FATFS 就可以非常方便的管理文件数据,因为你不必关心文件存储在哪些簇,哪个扇区等物理层的参数,FatFs自动帮你定位文件,你只需要给出文件路径,使用f_open函数,系统会依据你的路径查找文件的存储位置,文件的大小,位于哪些扇区,文件指针初始化等等参数,而这些参数会被存进文件对象里面。你使用系统的读取函数f_read,这个函数的入口参数有1.文件对象,2.读取到的数据存储缓冲区,3.计划读取的字节数,4.指向存储已读取的字节数的指针,所以可以看到若以 文件对象.文件大小作为读取目标字节数,就会把怎个文件数据读出来,但不包括文件结束符合
回复

使用道具 举报

20

主题

87

帖子

0

精华

初级会员

Rank: 2

积分
189
金钱
189
注册时间
2014-8-24
在线时间
0 小时
 楼主| 发表于 2014-11-30 10:21:38 | 显示全部楼层
回复【4楼】kassandra:
---------------------------------
那就是只要缓冲区足够大就行了,文件内容很小的时候没必要使用一簇的缓冲区这么大
哥的世界,你们不懂!
回复

使用道具 举报

17

主题

293

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2012-12-26
在线时间
1 小时
发表于 2014-11-30 10:36:17 | 显示全部楼层
我一般是这样处理的,如果文件过大,那么用循环缓冲处理,否则,一次性全部都读出来
回复

使用道具 举报

20

主题

87

帖子

0

精华

初级会员

Rank: 2

积分
189
金钱
189
注册时间
2014-8-24
在线时间
0 小时
 楼主| 发表于 2014-11-30 16:09:07 | 显示全部楼层
回复【6楼】kassandra:
---------------------------------
好的,谢谢!我有时间再研究下这个函数的源码
哥的世界,你们不懂!
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-28 10:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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