fatfs为什么连续打开文件夹会失败???

2019-07-21 06:43发布

本帖最后由 edison98 于 2018-12-14 17:27 编辑

f_err=f_opendir (&musicdir ,path);

f_err=f_readdir        (&musicdir, &musicinfo);

f_closedir(&musicdir);
这三个函数


我打开文件夹,读取文件夹,关闭文件夹后
再次这样操作,就总是失败???
第一次没问题,但是后面再这样操作就直接跳硬件中断了。。。。函数都是一样的,这是为什么????好难!!!!!!!

而且第一次长文件名什么都可以,,,,,就是再次操作就都不行,直接跳硬件中断


仿真在get_fileinfo函数跳硬件中断了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
正点原子
1楼-- · 2019-07-21 08:44
是我们开发板么?用给我们例程试试
bebj2009
2楼-- · 2019-07-21 08:48
因为你的内存不够用了,另外你的卡是不是有点问题了
edison98
3楼-- · 2019-07-21 11:14
正点原子 发表于 2018-12-14 02:04
是我们开发板么?用给我们例程试试

开发板是你们的,但是程序是我自己学着写的,然后发现了点问题,我FATFS用的长文件名是栈空间,第一次打开可以读出长文件,关掉后在打开就读不出长文件名,,按理来说栈不是函数结束后就释放了吗,我调用的函数是同一个,怎么会出现内存不够用??
edison98
4楼-- · 2019-07-21 15:58
bebj2009 发表于 2018-12-14 09:02
因为你的内存不够用了,另外你的卡是不是有点问题了

fatfs中我设置长文件名的空间在栈上,函数调用玩之后,栈不是会释放吗?为什么再次调用这个函数就读不出长文件名了,只能读出短文件名
eydj2008
5楼-- · 2019-07-21 21:32
 精彩回答 2  元偷偷看……
edison98
6楼-- · 2019-07-21 23:52
正点原子 发表于 2018-12-14 02:04
是我们开发板么?用给我们例程试试

fno.lfname有长文件名,但是传出来的musicinfo.lfname就没有,看下我发的图,我不懂是什么原因。。。。。

ffconfig    _USE_LFN 我选2,2: Enable LFN with dynamic working buffer on the STACK.

一些前辈说内存不够,我把启动文件的STACK改大了,也不行

一周热门 更多>