FATFS写入数据全是0

2019-07-20 07:16发布

用的是STM32F405+R0.09的FATFS。加入给你一张刚格式化的干净的卡,就做简单的读写测试,是没问题的。连续的短时间写入也没问题的。
但是,我程序是用定时器连续的将惯性数据以每隔5分钟的频率就新建一个文件存储数据,当存储的文件数大于几十个的时候(每个文件821KB),比如90个,后面的写入不会提示错误,文件也创建了,文件大小也有了。但是数据全部都是0.也就是说文件名称是有的,PC上也显示文件的大小,但是读取的数据全部都是0
PS:大家可以把焦点更多放在TF卡的文件系统各种限制上,因为一般写入几十个文件都不会出问题的。有没有遇到过同样的问题,万分感激啊






初始化:
        fs = &fatfs;

        res=f_mount(0, fs);

递增创建文件的代码:
  do
    {
        sprintf(file_name,"imu/IMU_%d.1bsn",file_num);
        if(flag_format==1)
        break;
        res = f_open( &fsrc,(char*)file_name, FA_CREATE_NEW | FA_WRITE);
                printf("扫描中....%s,创造返回代码:%d ",file_name,res);
          if(res==FR_EXIST)
          file_num++;
    }while(res!=FR_OK);
                printf("创造完毕,刚才创造的文件名为:%s.. ",file_name);

写入的代码:
  res = f_write(&fsrc,TF_Packet,sizeof(TF_Packet), &br);


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。