FATFS突然不能新建文件了

2019-10-14 22:17发布

char newfile[32]="0:/CS/NEW.TXT";



    AA=f_open(FILE0,(const TCHAR*)newfile,FA_CREATE_NEW);
    if(AA)//
    {
//        f_mount(0, NULL);
        LCD_ShowString(30,190,200,16,16,"ERROR");         
    }
    else
    {
//        f_mount(0, NULL);
        LCD_ShowString(30,190,200,16,16,"OK");        
    }

通过仿真发现AA的值是FR_OK,可是SD卡在电脑上看不到NEW.TXT文件。
格式化SD卡(快速和慢速都格式化过)也不行。
读文件夹的话是可以读到NEW.TXT的信息。可是不动SD卡,再下一个只有读文件夹函数的程序,又读不到这个文件的信息了


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
ilikedota
1楼-- · 2019-10-17 00:26
dmmcu 发表于 2016-1-4 09:34
没有f_close等于没有保存,当然看不到了。

兄弟,不知道你的问题解决了没?我也遇到类似的情况,SD卡中的文件有2、3十个之后,就不能创建文件了,一直也没有找到原因。
Jackwu
2楼-- · 2019-10-17 03:59
我试过了,没有f_close()的话是看不到文件,加了f_close()后在SD卡里就可以看到字节为0的新建文件了!
tt朝花夕拾
3楼-- · 2019-10-17 06:37
mark下,我也遇到了不能创建的问题,
跟踪程序是fatfs的在
dir_next中;
                        if (i >= dp->fs->n_rootdir)        /* Report EOT if it reached end of static table */
                                return FR_NO_FILE;
这个地方i = 0x200 而 n_rootdir 也是0x200  都是512时,不能创建的;
也是创建了254个,在创建255的时候出现的问题,
我再跟踪下原因;

一周热门 更多>