[LPC] 请教各位,SD卡写满后要从头覆盖怎么实现呢

[复制链接]
2015|3
 楼主| xiaoxiangzhuxin 发表于 2014-7-17 21:32 | 显示全部楼层 |阅读模式
请教各位:
   我需要用SD卡去存储数据,然后存满之后还继续从头覆盖存储,存储的时候是以文件的起始和结束时间命名,使用的是FAT32文件系统,不知道大家有没有好的方法?
dong_abc 发表于 2014-7-18 01:34 | 显示全部楼层
文件系统都有地址偏移的,从新定位到开头就行了
 楼主| xiaoxiangzhuxin 发表于 2014-7-22 16:38 | 显示全部楼层
dong_abc 发表于 2014-7-18 01:34
文件系统都有地址偏移的,从新定位到开头就行了

谢谢您,我用的是fatfs文件系统,尝试了几种方法都不行,不知道能不能赐教一下~
dong_abc 发表于 2014-7-22 17:03 | 显示全部楼层
本帖最后由 dong_abc 于 2014-7-22 17:13 编辑

给你一段代码,自己研究。

在文件末尾追加一个数据
  1.         res = f_lseek(&fdst1, fdst1.fsize);      
  2.         res = f_write(&fdst1,tmp_string, sizeof(tmp_string), &bw);               
  3.         res = f_close(&fdst1);
  1. //每天新建一个文件
  2.         if(strcmp(current_file,file_backup)!=0)
  3.         {      
  4.             first_file =0;  
  5.                   
  6.             //扫描flash中的文件数,并保持7个有效文件
  7.             flash_file_num=file_enum_routine("/user");
  8.             if(flash_file_num<7)
  9.             {
  10.                 memset(file_array[flash_file_num], 0, sizeof(file_array[flash_file_num]));
  11.                 strcpy(file_array[flash_file_num], name_string);        
  12.             }
  13.             else
  14.             {               
  15.                 res = f_mount(0,&fs[0]);            
  16.                 res = f_opendir(&dir,"/user");
  17.                 if(res==FR_NO_PATH)
  18.                 {
  19.                     res = f_mkdir("user");
  20.                     res = f_opendir(&dir,"/user");
  21.                 }
  22.                
  23.                 res = f_close(&fdst1);
  24.                 res = f_unlink (file_array[0]);
  25.                
  26.                 f_mount(0,NULL);
  27.                
  28.                 for(i=0;i<6;i++)
  29.                     strcpy(file_array[i],file_array[i+1]);
  30.                   
  31.                 memset(file_array[6], 0, sizeof(file_array[6]));
  32.                 strcpy(file_array[6], name_string);   
  33.              }         
  34.         }

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

本版积分规则

8

主题

19

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部