OpenEdv-开源电子网

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

请教 采用FATFS 我需要获得指定文件的大小信息 应该如何获取

[复制链接]

233

主题

961

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1822
金钱
1822
注册时间
2011-10-9
在线时间
232 小时
发表于 2012-12-13 11:19:47 | 显示全部楼层 |阅读模式
例如 我sd 卡上有 个文件 1.txt

我需要获得这个 1.txt 的大小 。我该调用哪个函数?

最好举个例子 感激  

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

233

主题

961

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1822
金钱
1822
注册时间
2011-10-9
在线时间
232 小时
 楼主| 发表于 2012-12-13 11:35:13 | 显示全部楼层
看某人的例程 找到答案了 呵 

先f_open  然后可以得到  fsize
回复 支持 反对

使用道具 举报

233

主题

961

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1822
金钱
1822
注册时间
2011-10-9
在线时间
232 小时
 楼主| 发表于 2012-12-13 11:35:37 | 显示全部楼层
记录一下 


res = f_open(&file,"/SYSTEM/FONT/GBK16.FON",FA_READ);
printf("\r\n正在打开文件2,以下是文件数据:\r\n");

if (res == FR_OK)
{
LCD_ShowString(20,90,"Write FONT16 to FLASH... ");
printf("\r\n正在打开文件2\r\n");
FONT16ADDR=file.org_clust;
FONT16SIZE=file.fsize;     //FONT16大小
回复 支持 反对

使用道具 举报

25

主题

683

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1351
金钱
1351
注册时间
2012-4-25
在线时间
195 小时
发表于 2012-12-13 15:03:59 | 显示全部楼层
楼主有个宏 就知道 大小了 ,不看源码吗

#define f_size(fp) ((fp)->fsize)
1-1
回复 支持 反对

使用道具 举报

14

主题

164

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1863
金钱
1863
注册时间
2012-5-19
在线时间
287 小时
发表于 2013-7-11 10:55:51 | 显示全部楼层
回复【4楼】mygod:
---------------------------------
请问这个获取大小这个 如何使用
回复 支持 反对

使用道具 举报

25

主题

683

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1351
金钱
1351
注册时间
2012-4-25
在线时间
195 小时
发表于 2013-7-11 11:38:36 | 显示全部楼层
回复【5楼】zhcj66:
---------------------------------

FIL file;
int file_byte;
f_open(&file,........);

file_byte = f_size(&file); 或 file_byte = file.fsize
1-1
回复 支持 反对

使用道具 举报

14

主题

164

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1863
金钱
1863
注册时间
2012-5-19
在线时间
287 小时
发表于 2013-7-11 15:33:42 | 显示全部楼层
回复【6楼】mygod:
---------------------------------
谢谢已经搞定了
http://www.amobbs.com/forum.php?mod=viewthread&tid=5540142&page=1&extra=#pid6812375
回复 支持 反对

使用道具 举报

1

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2015-4-13
在线时间
0 小时
发表于 2015-7-20 17:09:58 | 显示全部楼层
回复【3楼】simms01:
---------------------------------
楼主啊,回答的明确些啊,我弄了一天也没弄明白怎么用啊!
回复 支持 反对

使用道具 举报

1

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2015-4-13
在线时间
0 小时
发表于 2015-7-20 17:12:03 | 显示全部楼层
long get_file_size( uint8 opt ) 
   { 
        char path[32]; 
    FIL file;
        long file_byte; 
        sprintf(path, "%d:/%s", 0,USER.txt);
        f_open(&file,path,FA_READ);  
        file_byte =file.fsize;
    f_close(&file);
        return file_byte; 
    }
根本总是零,不管有没有内容
回复 支持 反对

使用道具 举报

1

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2015-4-13
在线时间
0 小时
发表于 2015-7-20 17:12:34 | 显示全部楼层
回复【6楼】mygod:
---------------------------------
long get_file_size( uint8 opt )  
   {  
        char path[32];  
    FIL file; 
        long file_byte;  
        sprintf(path, "%d:/%s", 0,USER.txt); 
        f_open(&file,path,FA_READ);   
        file_byte =file.fsize; 
    f_close(&file); 
        return file_byte;  
    }
回复 支持 反对

使用道具 举报

1

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2015-4-13
在线时间
0 小时
发表于 2015-7-20 17:13:35 | 显示全部楼层
发的有点乱,给5楼回复,但是没说全发送了,长度总是零。
回复 支持 反对

使用道具 举报

1

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2015-4-13
在线时间
0 小时
发表于 2015-7-21 08:54:30 | 显示全部楼层
自己回复一下,这个写法是对的,是我自己弄错了,存到C盘,到D盘找文件查大小去了,所以一直为0,打扰了。
回复 支持 反对

使用道具 举报

9

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
115
金钱
115
注册时间
2015-7-25
在线时间
9 小时
发表于 2015-7-30 09:16:15 | 显示全部楼层
你去看看原子战舰图片显示那一节,上面有例程,你重点看看读取SD卡图片那段代码,很简单的啊
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2016-4-25
在线时间
4 小时
发表于 2017-2-21 17:26:34 | 显示全部楼层
马克马克
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-24 03:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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