gpt4 book ai didi

c - 无法使用 fatfs 文件系统和 ff.c 库打开多个文件

转载 作者:行者123 更新时间:2023-11-30 15:31:51 26 4
gpt4 key购买 nike

嗨,我是 fatfs 文件系统的新手,我想使用 fat 文件系统库读取数据并将数据写入我的笔式驱动器。我能够读取和写入单个文件,但我的项目需要我一次打开两个文件并向其中写入一些内容。但这样做会返回 FR_TOO_MANY_OPEN_FILES 错误。我不知道如何删除它。请帮忙。我用来打开和写入文件的顺序如下。

rc = f_open(&My_File_Object_x, "0:/Hello.TxT", FA_WRITE | FA_READ | FA_CREATE_ALWAYS);
if(rc) { die(rc); }
rc = f_open(&rightcount, "0:/Hell.TxT", FA_WRITE | FA_READ | FA_CREATE_ALWAYS);
if(rc) { die(rc); }
rc = f_write(&My_File_Object_x, "Hello world!\r\n", 14, &bw);
if(rc) { die(rc); }
rc = f_write(&rightcount, "Hello world!\r\n", 14, &bw);
if(rc) { die(rc); }
rc= f_sync(&My_File_Object_x);
if(rc) { die(rc); }
rc= f_close(&My_File_Object_x);
if(rc) { die(rc); }
rc= f_sync(&rightcount);
if(rc) { die(rc); }
rc= f_close(&rightcount);
if(rc) { die(rc); }

最佳答案

检查您的配置文件“ffconf.h”,您可以在其中找到名为_FS_LOCK的选项。根据“FatFs”手册:

If value is >0: Enable file lock feature. The value defines how many files/sub-directories can be opened simultaneously under file lock control.

FR_TOO_MANY_OPEN_FILES: Number of open objects has been reached maximum value and no more object can be opened. (Related option: _FS_LOCK)

根据您提供的信息,我只能猜测您的 _FS_LOCK 值为 1。

关于c - 无法使用 fatfs 文件系统和 ff.c 库打开多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24518560/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com