OpenEdv-开源电子网

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

如何把采集到的数据通过FATFS文件系统存储到SD卡中???(也可以把以前的数据存储进去)

[复制链接]

42

主题

153

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2017-10-30
在线时间
51 小时
发表于 2018-5-29 10:20:55 | 显示全部楼层 |阅读模式
10金钱
        RTC_GetTime(RTC_Format_BIN,&RTC_TimeStruct);
                                                                                                //把整数组合成一个字符串
                        sprintf((char*)tbuf,"Time:%02d:%02d:%02d",RTC_TimeStruct.RTC_Hours,RTC_TimeStruct.RTC_Minutes,RTC_TimeStruct.RTC_Seconds);
                        LCD_ShowString(30,90,210,16,16,tbuf);       
//                        printf("tbuf=%s\n",tbuf);打印字符串到串口
//                        delay_ms(1000);
//                       
                RTC_GetDate(RTC_Format_BIN, &RTC_DateStruct);
//                       
                        sprintf((char*)sbuf,"Date:20%02d-%02d-%02d",RTC_DateStruct.RTC_Year,RTC_DateStruct.RTC_Month,RTC_DateStruct.RTC_Date);
                        LCD_ShowString(30,110,210,16,16,sbuf);       
                        sprintf((char*)fbuf,"Week:%d",RTC_DateStruct.RTC_WeekDay);
                        LCD_ShowString(30,130,210,16,16,fbuf);



res=f_open (&fil,"0:/message.txt", FA_CREATE_ALWAYS|FA_WRITE);
                if(res==FR_OK)
                {
                f_write (&fil, tbuf, 50, &bww);
                f_write (&fil, sbuf, 50, &bww);       
                        f_write (&fil, fbuf, 50, &bww);
                        f_close(&fil);
                res=f_open (&fil,"0:/message.txt", FA_READ);

    f_read (&fil, buf,100,&bww);       
                f_close(&fil);
       

在SD卡存储的数据中,我现在只能存储当前的一个值,比如当前的时间,以前的时间数据没有显示,想问一下大家是怎么解决的。望告知,万分谢谢。

最佳答案

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

res=f_open (&fil,"0:/message.txt", FA_CREATE_ALWAYS|FA_WRITE);这里的FA_CREATE_ALWAYS改为FA_OPEN_ALWAYS,详细看下图,每次你都覆盖了上次的文件,可不就是只有最后一次的内容嘛
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6657
金钱
6657
注册时间
2015-8-25
在线时间
1034 小时
发表于 2018-5-29 10:20:56 | 显示全部楼层
res=f_open (&fil,"0:/message.txt", FA_CREATE_ALWAYS|FA_WRITE);这里的FA_CREATE_ALWAYS改为FA_OPEN_ALWAYS,详细看下图,每次你都覆盖了上次的文件,可不就是只有最后一次的内容嘛
1527730275(1).jpg
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2018-5-31 01:43:35 | 显示全部楼层
不要每次都CREAT,否则肯定死了。。。要学会用FATFS
回复

使用道具 举报

42

主题

153

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2017-10-30
在线时间
51 小时
 楼主| 发表于 2018-5-31 09:43:54 | 显示全部楼层
szczyb1314 发表于 2018-5-31 09:32
res=f_open (&fil,"0:/message.txt", FA_CREATE_ALWAYS|FA_WRITE);这里的FA_CREATE_ALWAYS改为FA_OPEN_ALWA ...

十分感谢!
回复

使用道具 举报

42

主题

153

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2017-10-30
在线时间
51 小时
 楼主| 发表于 2018-5-31 09:44:07 | 显示全部楼层
正点原子 发表于 2018-5-31 01:43
不要每次都CREAT,否则肯定死了。。。要学会用FATFS

谢谢原子哥。
回复

使用道具 举报

42

主题

153

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2017-10-30
在线时间
51 小时
 楼主| 发表于 2018-5-31 09:48:32 | 显示全部楼层
正点原子 发表于 2018-5-31 01:43
不要每次都CREAT,否则肯定死了。。。要学会用FATFS

原子哥您好,我想问一下,在把数据存储到SD卡的过程中,怎样能让存储的数据更加合理,有条理性。比如就像,最上面一行是响应的标题,其次对应的标题的下面是采集的信息。应该运用那些函数,谢谢原子哥。
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2019-9-11
在线时间
4 小时
发表于 2019-10-16 14:46:35 | 显示全部楼层
bufangqi 发表于 2018-5-31 09:48
原子哥您好,我想问一下,在把数据存储到SD卡的过程中,怎样能让存储的数据更加合理,有条理性。比如就像 ...

楼主你好,请问你提的这个问题你解决了吗?我最近也需要解决这个问题
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-16 18:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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