STM32的FATFS文件系统出现“无法建立文件 res返回值不为0”是怎么回事?

 我来答
心海love汤圆儿
2018-01-06 · TA获得超过1448个赞
知道答主
回答量:10
采纳率:0%
帮助的人:1453
展开全部

f_open的返回不为零的可能性有很多种,可以根据具体的返回值,找到错误类型。


下面是具体的错误类型:


typedef enum {
FR_OK = 0, /* (0) Succeeded */


FR_DISK_ERR, /* (1) A hard error occurred in the low level disk I/O layer */


FR_INT_ERR, /* (2) Assertion failed */


FR_NOT_READY, /* (3) The physical drive cannot work */


FR_NO_FILE, /* (4) Could not find the file */


FR_NO_PATH, /* (5) Could not find the path */


FR_INVALID_NAME, /* (6) The path name format is invalid */


FR_DENIED, /* (7) Access denied due to prohibited access or directory full */


FR_EXIST, /* (8) Access denied due to prohibited access */

FR_WRITE_PROTECTED, /* (10) The physical drive is write protected */


FR_INVALID_DRIVE, /* (11) The logical drive number is invalid */


FR_NOT_ENABLED, /* (12) The volume has no work area */


FR_NO_FILESYSTEM, /* (13) There is no valid FAT volume */


FR_MKFS_ABORTED, /* (14) The f_mkfs() aborted due to any parameter error */


FR_TIMEOUT, /* (15) Could not get a grant to access the volume within defined period */


FR_LOCKED, /* (16) The operation is rejected according to the file sharing policy */


FR_NOT_ENOUGH_CORE, /* (17) LFN working buffer could not be allocated */


FR_TOO_MANY_OPEN_FILES, /* (18) Number of open files > _FS_SHARE */


FR_INVALID_PARAMETER /* (19) Given parameter is invalid */
} FRESULT;

还有f_mount也有返回值,你应该看看是否mount成功。

浙江启扬智能科技有限公司
2023-06-12 广告
Linux 嵌入式系统中,USB 启动模式能够烧写 ARM 的 uboot 的原因主要有以下几个方面:1. USB 启动模式相对于传统的 BIOS 启动模式来说,具有更高的兼容性和灵活性,可以支持更多的硬件设备和操作系统。2. USB 启动... 点击进入详情页
本回答由浙江启扬智能科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式