OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3571|回复: 4

当调用读取f_readdir()目录读取函数的时候导致硬件错误

[复制链接]

19

主题

66

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2015-12-6
在线时间
47 小时
发表于 2016-8-31 17:12:07 | 显示全部楼层 |阅读模式
5金钱
今天移植文件系统之后,创建,读写文件都可以,创建目录之后,再次创建返回目录已经存在
1、res = f_mkdir("0:WF");
    返回文件已经存在,表示目录已经创建了
2、调用目录读取函数却导致了硬件错误
void read_file_text(void)
{
        FILINFO finfo;
        FRESULT res;
        DIR dirs;       
        res=f_mount(fs[0],"0:",1);
        if (res != FR_OK)        return;
        res = f_opendir(&dirs,"0:");
        if (res == FR_OK)
        {
                res = f_readdir(&dirs, &finfo);
                if (res != FR_OK)
                        return;
        }
        f_mount(0,"0:",1);
}
出现错误的地方在

获取文件信息

获取文件信息

QQ截图20160831171110.png
我想问问大家知道导致这个硬件错误的原因是什么吗?

最佳答案

查看完整内容[请看2#楼]

堆栈不够。如果一定要局部,用内存管理!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-8-31 17:12:08 | 显示全部楼层
我是520老谢 发表于 2016-9-1 11:35
感谢原子哥:有点效果1、我将用到的这些变量都放在main.c文件中
2、在其他文件用extern申明。
3、使用F ...

堆栈不够。如果一定要局部,用内存管理!!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-8-31 20:50:16 | 显示全部楼层
      FILINFO finfo;
        DIR dirs;     
改成全局变量试试
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

19

主题

66

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2015-12-6
在线时间
47 小时
 楼主| 发表于 2016-9-1 11:35:50 | 显示全部楼层
本帖最后由 我是520老谢 于 2016-9-1 11:39 编辑
正点原子 发表于 2016-8-31 20:50
FILINFO finfo;
        DIR dirs;     
改成全局变量试试

感谢原子哥:有点效果1、我将用到的这些变量都放在main.c文件中
2、在其他文件用extern申明。
3、使用FreeRTOS放在进程中读取信息,发现读取文件信息的时候是空的,用全局之后,文件就能读到了。为什么全局之后就能读到文件信息,局部变量就读不到
--信息不是保存在这个空间而已吗





回复

使用道具 举报

19

主题

66

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2015-12-6
在线时间
47 小时
 楼主| 发表于 2016-9-5 11:56:53 | 显示全部楼层
正点原子 发表于 2016-8-31 20:50
FILINFO finfo;
        DIR dirs;     
改成全局变量试试

谢谢原子哥的帮助
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-25 18:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表