硬汉嵌入式论坛

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

[emWin] 将SD卡中的所有文件夹显示在触摸屏上,并通过触摸打开SD卡中的文件夹

[复制链接]

15

主题

21

回帖

14

积分

新手上路

积分
14
发表于 2014-11-11 20:22:54 | 显示全部楼层 |阅读模式
程序应该没问题,但是我将内存卡插进去后,无法读取到内存卡中的内容,是不是文件系统的原因?
回复

使用道具 举报

15

主题

21

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2014-11-11 20:30:57 | 显示全部楼层
我从网上找了几个文件系统,有一个可以用的,其余的移植进去之后都提示有错误
..\\..\\GUI_emWin2\\scan_files.c(33): error:  #136: struct "<unnamed>" has no field "lfname"
..\\..\\GUI_emWin2\\scan_files.c(34): error:  #136: struct "<unnamed>" has no field "lfsize"
..\\..\\GUI_emWin2\\scan_files.c(46): error:  #136: struct "<unnamed>" has no field "lfname"
..\\..\\GUI_emWin2\\scan_files.c(67): error:  #136: struct "<unnamed>" has no field "lfname"
..\\..\\GUI_emWin2\\scan_files.c(68): error:  #136: struct "<unnamed>" has no field "lfsize"
..\\..\\GUI_emWin2\\scan_files.c(80): error:  #136: struct "<unnamed>" has no field "lfname"
..\\..\\fatfs1\\src\\option\\cc936.c(11): error:  #35: #error directive: This file is not needed in current configuration. Remove from the project.
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115694
QQ
发表于 2014-11-12 11:49:29 | 显示全部楼层
使用长文件名了。
回复

使用道具 举报

15

主题

21

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2014-11-13 19:31:31 | 显示全部楼层

回 eric2013 的帖子

eric2013:使用长文件名了。 (2014-11-12 11:49)
使用长文件名了?什么意思?我不太明白
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115694
QQ
发表于 2014-11-13 22:36:00 | 显示全部楼层

回 逝水无痕 的帖子

逝水无痕:使用长文件名了?什么意思?我不太明白 (2014-11-13 19:31) 
默认的情况下,fatfs只支持短文件名的,如果要使用长文件名的话要使能相应的宏。具体的修改方法你可以网上搜索:fatfs如何使用长文件名。
回复

使用道具 举报

4

主题

80

回帖

4

积分

初级会员

积分
4
发表于 2014-11-14 09:31:33 | 显示全部楼层

回 逝水无痕 的帖子

逝水无痕:使用长文件名了?什么意思?我不太明白 (2014-11-13 19:31)
typedef struct {
    DWORD    fsize;            /* File size */
    WORD    fdate;            /* Last modified date */
    WORD    ftime;            /* Last modified time */
    BYTE    fattrib;        /* Attribute */
    TCHAR    fname[13];        /* Short file name (8.3 format) */
#if _USE_LFN
    TCHAR*    lfname;            /* Pointer to the LFN buffer */
    UINT     lfsize;            /* Size of LFN buffer in TCHAR */
#endif
} FILINFO;
你没看到fatfs源码里,默认是使用短文件名的,一个文件的fname[13],意思就是说只能8+3+1,8字节的文件名+1字节的.号+3或者4字节的后缀名。比如xxxx.mp3 。
如果你要使用长文件名,定义宏吧。
且行且珍惜~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-12 12:05 , Processed in 0.264063 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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