硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1937|回复: 2
收起左侧

[FatFs] 请问f_opendir返回"System Volume Infomation"是什么意思?

[复制链接]

20

主题

92

回帖

152

积分

初级会员

积分
152
发表于 2018-7-25 19:04:53 | 显示全部楼层 |阅读模式
U盘中放了4个文件,没有子目录,我想打印四个文件的路径看看,结果是这样的:
1:/System Volume Infomation
1:/System Volume Infomation
1:
1:
后两个是对的,前两个为什么会有一串字符呢?

怀疑是我遍历程序有问题,于是只f_opendir一下,代码如下:
  1.         res = f_opendir(&dir, path);                       /* Open the directory */
  2.         GUI_DispStringAt(path,                         0, 20 * 23);
复制代码
结果是:
1:/System Volume Infomation
也就是打开目录就出错了,请问这是FAT文件系统的特性吗?还是我的文件系统配置不对了?


回复

使用道具 举报

20

主题

92

回帖

152

积分

初级会员

积分
152
 楼主| 发表于 2018-7-25 19:18:30 | 显示全部楼层
可以了,我只判断了是不是目录,没有判断是不是系统目录,添加了一句“如果是系统目录就结束本次循环”就好了,如下:
  1.                         if (fno.fattrib & AM_DIR) {                    /* It is a directory */
  2.                                 if (fno.fattrib & AM_SYS) continue;
复制代码
回复

使用道具 举报

20

主题

92

回帖

152

积分

初级会员

积分
152
 楼主| 发表于 2018-7-25 19:22:54 | 显示全部楼层
第一次打开目录是正确的,“1:/System Volume Infomation”这个信息是递归遍历后的结果。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-11 18:05 , Processed in 0.146684 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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