OpenEdv-开源电子网

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

fatfs文件创建时间怎么添加啊?

[复制链接]

15

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2013-9-3
在线时间
0 小时
发表于 2014-5-7 15:16:56 | 显示全部楼层 |阅读模式
5金钱
在利用fatfs读写SD卡文件的时候,发现创建的文件,没有创建时间,请问这个怎么添加啊?
在网上和论坛里看了看,需要用到DWORD get_fattime (void)函数,但是网上好多都是直接返回0的?
我想知道怎么返回具体时间的?还有就是这个时间如何与stm32系统的时间匹配上啊?

最佳答案

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

 根据函数注释,返回时间参数,就可以了 [mw_shl_code=c,true]//获得时间 //User defined function to give a current time to fatfs module */ //31-25: Year(0-127 org.1980), 24-21: Month(1-12), 20-16: Day(1-31) */ ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-5-7 15:16:57 | 显示全部楼层
 根据函数注释,返回时间参数,就可以了
[mw_shl_code=c,true]//获得时间 //User defined function to give a current time to fatfs module */ //31-25: Year(0-127 org.1980), 24-21: Month(1-12), 20-16: Day(1-31) */ //15-11: Hour(0-23), 10-5: Minute(0-59), 4-0: Second(0-29 *2) */ DWORD get_fattime (void) { return 0; }[/mw_shl_code]


我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-5-7 15:16:57 | 显示全部楼层
我的是这样写的
DWORD get_fattime(void)
{
DWORD time_buff=0;

PCF8563_ReadWrite_Time(1); //获取时间信息

//将时间十六进制转换成BCD码
TimeValue.year = HX_to_DX(TimeValue.year); //年
TimeValue.month = HEX_to_BCD(TimeValue.month); //月
TimeValue.date = HEX_to_BCD(TimeValue.date); //日
TimeValue.hour = HEX_to_BCD(TimeValue.hour); //时
TimeValue.minute = HEX_to_BCD(TimeValue.minute);//分
TimeValue.second = HEX_to_BCD(TimeValue.second);//秒

//按照FatFs的时间格式组合
time_buff |= ((TimeValue.year - 1980)<<25); //年
time_buff |= (TimeValue.month<<21); //月
time_buff |= (TimeValue.date<<16); //日

time_buff |= (TimeValue.hour<<11); //时 
time_buff |= (TimeValue.minute<<5); //分
time_buff |= (TimeValue.second/2); //秒

return time_buff;
}
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-5-7 18:08:53 | 显示全部楼层
按照FatFs提供的格式自己添加即可,程序在家里电脑,明天发你
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

15

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2013-9-3
在线时间
0 小时
 楼主| 发表于 2014-5-8 08:51:51 | 显示全部楼层
回复【4楼】Badu_Space:
---------------------------------
哦,这样啊,TimeValue.year 这些就是从8563里面获得的吧?这个是全局的是吗?
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-5-8 11:55:31 | 显示全部楼层
回复【5楼】sjEE:
---------------------------------
时间日期结构体数据

http://www.openedv.com/posts/list/32492.htm这个帖子有底层驱动函数
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

15

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2013-9-3
在线时间
0 小时
 楼主| 发表于 2014-5-8 13:30:48 | 显示全部楼层
回复【6楼】Badu_Space:
---------------------------------
恩,好的,谢谢了,我回头看看。现在要整UC/OS下的看门狗了,等整完了,回来再看。
回复

使用道具 举报

32

主题

153

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
453
金钱
453
注册时间
2014-11-5
在线时间
0 小时
发表于 2015-2-22 14:52:35 | 显示全部楼层
回复【4楼】八度空间:
---------------------------------
大虾,你这不完整哇。HX_to_DX(TimeValue.year);这函数的原型怎么写呀?我想直接用RTC的时间来做文件的时间
酱油团队--
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2015-2-26 08:26:21 | 显示全部楼层
回复【8楼】xiaolong12:
---------------------------------
一个转换函数,BCD转换成十进制
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

4

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2015-4-18
在线时间
17 小时
发表于 2015-12-5 20:21:02 | 显示全部楼层
mark一下
回复

使用道具 举报

81

主题

270

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
452
金钱
452
注册时间
2014-8-11
在线时间
87 小时
发表于 2015-12-6 02:45:36 | 显示全部楼层
回复【4楼】八度空间:
---------------------------------
收下了,以便后用
我是一只菜鸟,但我会大鹏展翅
回复

使用道具 举报

23

主题

344

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2315
金钱
2315
注册时间
2017-7-6
在线时间
281 小时
发表于 2018-11-13 14:03:54 | 显示全部楼层
八度空间 发表于 2014-5-7 15:16
我的是这样写的
DWORD get_fattime(void)
{

它时间的秒只能是偶数吗 ,感觉有点奇怪,可能31位不够用了
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2018-11-14 20:25:30 | 显示全部楼层
1547674987 发表于 2018-11-13 14:03
它时间的秒只能是偶数吗 ,感觉有点奇怪,可能31位不够用了

是不够用,算算就知道了,年份只是后两位而已
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 19:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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