打印
[STM32F1]

FATfs系统的f_read函数返回值为FR_INVALID_OBJECT

[复制链接]
3554|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 cllmxdsdo 于 2019-1-23 17:49 编辑


图中红框处代码的作用是将mp3音频文件的数据存入databuf中,以便后面进行发送。
通过单步测试,res返回值为0x09,错误为FR_INVALID_OBJECT。


测试进入f_read()函数,查看到fil->fs->fs_type值为0,所以返回FR_INVALID_OBJECT。但是fs_type为0是没有挂载的意思,我在主函数里已经挂载了SD卡了啊,这是什么情况啊?

请各位大佬有空帮忙看看,小弟在此谢过。

沙发
cllmxdsdo|  楼主 | 2019-1-26 08:49 | 只看该作者
没人吗。。。。。。。

使用特权

评论回复
板凳
小明的同学| | 2019-1-27 19:35 | 只看该作者
FR_INVALID_OBJECT 文件对象无效。

使用特权

评论回复
地板
小明的同学| | 2019-1-27 19:36 | 只看该作者
都放假了吧
相亲去了。

使用特权

评论回复
5
香水城| | 2019-1-28 11:24 | 只看该作者
请检查下文件或文件目录的有效性

使用特权

评论回复
6
bvbgbhbn| | 2019-1-28 13:59 | 只看该作者
可能是没有挂载成功

使用特权

评论回复
7
xiaoqizi| | 2019-2-18 12:10 | 只看该作者
应该是无效的意思吧

使用特权

评论回复
8
wakayi| | 2019-2-18 12:48 | 只看该作者
这个返回值意味着什么呢

使用特权

评论回复
9
liuxiang5119| | 2019-2-20 12:13 | 只看该作者
FR_INVALID_OBJECT   文件对象无效     可能是读取文件的路径错误  之前有碰到过  正常挂载后默认是0 ,挂载时不需要参数   读取时候给写0竟然读取失败  最后把挂载那里直接写0挂载才成功

使用特权

评论回复
10
chenccccjjjjjhh| | 2022-4-2 21:31 | 只看该作者
看一下挂载的磁盘工作区定义这些,我遇到过相同的问题,是因为定义了FATFS fatfs[2];
然后挂载了fatfs[2] ,  res = f_mount(&fatfs[2], "2:/", 1);

不能挂载fatfs[2];只能挂载fatfs[0]、fatfs[1]

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

49

帖子

0

粉丝