OpenEdv-开源电子网

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

FAT32文件系统关于文件编号问题。

[复制链接]

33

主题

80

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
332
金钱
332
注册时间
2012-9-10
在线时间
31 小时
发表于 2013-3-18 09:54:49 | 显示全部楼层 |阅读模式
 学习Mp3播放器例程的时,发现FAT32中的每个文件都有它自己的编号,那么如何得到这个编号呢?
下面是代码:
while( 0 == f_opendir(&mp3dir,"0:/"))
temp = mp3dir.index;       //记录当前index
debugprintf("mp3dir.index = %d\r\n",mp3dir.index);
res = f_readdir(&mp3dir,&mp3fileinfo);        //读取目录下的一个文件
if(res!=FR_OK||mp3fileinfo.fname[0]==0)break; //错误了/到末尾了,退出

请问mp3dir.index这个index就是文件的编号吗?
如果是,那么这个编号是怎么样的顺序呢? 从1开始?1++??
还是我下面打印出来的信息呢?求指教阿,学习FAT文件系统不久
一共放了21首歌,读出来mp3dir.inde如下:
mp3dir.index = 2
mp3dir.index = 4
mp3dir.index = 6
mp3dir.index = 8
mp3dir.index = 10
mp3dir.index = 12
mp3dir.index = 14
mp3dir.index = 16
mp3dir.index = 18
mp3dir.index = 20
mp3dir.index = 22
mp3dir.index = 24
mp3dir.index = 26
mp3dir.index = 28
mp3dir.index = 30
mp3dir.index = 32
mp3dir.index = 34
mp3dir.index = 36
mp3dir.index = 38
mp3dir.index = 40
mp3dir.index = 42
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-18 13:56:33 | 显示全部楼层
研究一下f_readdir,你会发现第一次打开f_readdir的时候,得到的是dir下面的第一个文件,在所得到的信息里面就有一个索引,从0开始.
第二次得到索引1
第三次得到索引2
以此类推.

从而可知,fatfs打开文件的时候,每个文件都有一个唯一的索引.
但是一个文件夹里面可能有很多不同类型的文件,比如MP3,txt,word,rmvb之类的,这个索引是针对所有文件的编号,而不是针对某一类型的编号.
所以,你要得到一个文件夹里面的所有MP3文件,就必须做一个表,记录所有后缀是.mp3的文件的索引,这样才能得到MP3文件.
因此,你打印出来的MP3文件索引不连续,也就不奇怪了....
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

22

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2012-12-4
在线时间
0 小时
发表于 2013-3-18 14:11:40 | 显示全部楼层
dir.index
回复 支持 反对

使用道具 举报

9

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2012-12-25
在线时间
0 小时
发表于 2013-3-18 23:09:34 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥,我是发帖的人,今天用我朋友的号发的帖,我是因为怕有别的文件影响,所以把Nand Flash 格式化了再放歌曲的,而且是一首一首按序号的放进去的,但是读出来的数字还是上面那样,虽然用别的方法把问题解决了,但还是有点不解。
不忘初心,才能始终。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-22 20:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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