OpenEdv-开源电子网

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

请教一下,用FATFS获取系统时间,然后把时间作为SD卡TXT的名字

[复制链接]

9

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2017-7-5
在线时间
22 小时
发表于 2017-8-17 16:43:17 | 显示全部楼层 |阅读模式
5金钱
现在我通过改原子哥的程序,已经可以向SD卡写txt文档了,但是接下来准备建立一些以日期时间命名的文档,该如何实现呢?向各位请教

最佳答案

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

void create_new_txt(u8 *pname,u8 *dir1,u8*dir2,u8 *src,u8 *Prdfix) { u8 *pn=NULL; pn=mymalloc(SRAMIN,20); RTC_GetDate(RTC_Format_BIN, &RTC_DateStructure); strcpy((char*)pname,(char*)src); strcat((char*)pname,(char*)dir1); strcat((char*)pname,(char*)dir2); strcat((char*)pname,(char*)Prdfix); sprintf((char*)pn,"20%02d-%02d-%02d.txt",RTC_DateStructure.RTC_Year,RTC_DateStructure. ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12064
金钱
12064
注册时间
2013-3-8
在线时间
1283 小时
发表于 2017-8-17 16:43:18 | 显示全部楼层
Fame 发表于 2017-8-17 16:44
通过每次对主程序写改名字,可以实现几个TXT文档存入SD卡中,获取时间函数不知道该如何写,谢谢各位老铁啊

void create_new_txt(u8 *pname,u8 *dir1,u8*dir2,u8 *src,u8 *Prdfix)
{       
        u8 *pn=NULL;
        pn=mymalloc(SRAMIN,20);
        RTC_GetDate(RTC_Format_BIN, &RTC_DateStructure);       
        strcpy((char*)pname,(char*)src);
  strcat((char*)pname,(char*)dir1);
        strcat((char*)pname,(char*)dir2);
        strcat((char*)pname,(char*)Prdfix);
        sprintf((char*)pn,"20%02d-%02d-%02d.txt",RTC_DateStructure.RTC_Year,RTC_DateStructure.RTC_Month,RTC_DateStructure.RTC_Date);                //ê×Ñ¡±£′æÔúSD¿¨
  strcat((char*)pname,(char*)pn);
        myfree(SRAMIN,pn);
}

pname=mymalloc(SRAMIN,100);
                                create_new_txt(pname,HFCT_DIR,HFCT_AD_DATA_DIR,"0:",HFCT_Prdfix);
                                if(pname!=NULL)
                                        res = f_open(&HFCT_file, (const TCHAR*)pname, FA_OPEN_ALWAYS |FA_WRITE | FA_READ);
                                myfree(SRAMIN,pname);
回复

使用道具 举报

9

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2017-7-5
在线时间
22 小时
 楼主| 发表于 2017-8-17 16:44:44 | 显示全部楼层
通过每次对主程序写改名字,可以实现几个TXT文档存入SD卡中,获取时间函数不知道该如何写,谢谢各位老铁啊
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12064
金钱
12064
注册时间
2013-3-8
在线时间
1283 小时
发表于 2017-8-17 20:21:37 | 显示全部楼层
create_new_txt第一个参数为合成的文件创建路径及带日期的名字,第二个参数为一级目录名,第三个参数为二极目录名,第四个为盘符,第五个为要创建的文件名前缀。
比如:0:\xy\emwin\aaa2017-08-17.txt是合成后返回给第一个参数的,则后面四个参数依次为"xy" ,"emwin" ,"0:","aaa"   。
你可以适当修改,把目录增加或减少,也可以把时间加上去
回复

使用道具 举报

9

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2017-7-5
在线时间
22 小时
 楼主| 发表于 2017-8-17 20:31:11 | 显示全部楼层
augustedward 发表于 2017-8-17 20:21
create_new_txt第一个参数为合成的文件创建路径及带日期的名字,第二个参数为一级目录名,第三个参数为二极 ...

好的,谢谢,我研究一下,还有一个问题向SD卡的一个txt多次写数据可以嘛?该怎么实现?我现在只能向一个txt写一次,下个就得改名字了,您写的这个函数直接放可以精确到分钟和小时吧?
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12064
金钱
12064
注册时间
2013-3-8
在线时间
1283 小时
发表于 2017-8-18 09:46:04 | 显示全部楼层
Fame 发表于 2017-8-17 20:31
好的,谢谢,我研究一下,还有一个问题向SD卡的一个txt多次写数据可以嘛?该怎么实现?我现在只能向一个t ...

我写的这个函数是精确到日期的,你把小时分钟给加上去就行了。你要向同一个txt多次写数据,就要知道每次打开这个txt,然后fleek到文件尾,再写数据。
回复

使用道具 举报

9

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2017-7-5
在线时间
22 小时
 楼主| 发表于 2017-8-18 19:40:20 | 显示全部楼层
augustedward 发表于 2017-8-18 09:46
我写的这个函数是精确到日期的,你把小时分钟给加上去就行了。你要向同一个txt多次写数据,就要知道每次 ...

好的,谢谢老铁啦
回复

使用道具 举报

6

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2018-5-3
在线时间
18 小时
发表于 2018-5-4 15:50:05 | 显示全部楼层
楼主功能实现没?最近我也在搞这个,能不能交流一下
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 18:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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