求救,我的FATFS只能创建文件,而不能写文件!电脑上显示大小总是0KB!

2019-03-23 18:51发布

f_mount(0, &fs); 
    res = f_open(&fdst, "0:3333.txt", FA_CREATE_ALWAYS | FA_WRITE); 
这里res返回Assertion failed的错误代码, 
   res = f_write(&fdst, buffer, 512, &bw);    
这里res 返回The file/directory object is invalid的错误代码 
    f_close(&fdst); 

    f_mount(0, NULL); 
打断点进去看了一下,发现cl = ((DWORD)LD_WORD(dir+DIR_FstClusHI) << 16) | LD_WORD(dir+DIR_FstClusLO); /* Get start cluster */这个地方有问题,cl返回值总是0XFFFFFFFF,单片机用的是STM32F103ZET6,编译器用的是KEIL V4 ,按照网上的一遍《比较详细介绍FatFs文件系统移植的文章》改了一下,也不起作用, 
有高手请看一下,读写SD卡中现存的文件都没有问题,只是新建一个文件,再去读写就出现这种问题了,请解决过这问题的高手帮一下!谢谢!
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。