ARM技术william hill官网
直播中

wuwodejingcai

9年用户 16经验值
擅长:控制/MCU
私信 关注
[问答]

关于STM32 SPI FATFS移植方面的一个问题(文件开始簇号:-1),谢谢

这两天正在移植FATFS ,单片机信号为STM32F105RC,移植结束测试发现写文件时有时可以,有时又不得。调试发现当写不得的时候,一个现象是打开文件时,文件的开始簇号:-1了。

res=f_open(&fsrc,"/GG/test888.txt",FA_OPEN_ALWAYS | FA_READ | FA_WRITE );//没有这个文件则创建该文件   
    if(res==FR_OK)
    {
      printf("创建文件或打开文件成功  O(∩_∩)Orn");
      printf("该文件属性:%drn",fsrc.flag);
      printf("该文件大小:%drn",fsrc.fsize);
      printf("该文件读写开始处:%drn",fsrc.fptr);
      printf("该文件开始簇号:%drn",fsrc.org_clust);
      printf("该文件当前簇号:%drn",fsrc.curr_clust);
      printf("该文件当前扇区号:%drn",fsrc.dsect);
    }
    else if(res==FR_EXIST)
      printf("该文件已存在rn");
    else
      printf("创建文件或打开文件失败~~~~(>_<)~~~~ rn");


执行的结果
创建文件或打开文件成功  O(∩_∩)O
该文件属性:19
该文件大小:0
该文件读写开始处:0
该文件开始簇号:-1
该文件当前簇号:0
该文件当前扇区号:0


但是由于文件的开始簇号为-1,导致在使用f_write写文件时,出现了错误。如附件图。


还请大家帮忙看看是什么原因?能够写的文件,开始的簇号不是-1的。
谢谢





  • FATFS错误.png

更多回帖

发帖
×
20
完善资料,
赚取积分