首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

STM32的FATFS文件系统移植笔记(5)

STM32的FATFS文件系统移植笔记(5)

3、测试结果
    测试结果如图2所示。
<IGNORE_JS_OP>

图2
六、中文长文件名支持
    1、要支持长文件名需要在ffconf.h文件中修改两个宏定义。如下为我们修改后的宏定义。
    #define        _CODE_PAGE        936
    #define        _USE_LFN        1                /* 0 to 3 */
    2、添加支持中文编码的文件
    重新编译会发现有如图3的错误。原因是要支持中文文件名需要包含另外一个文件cc936.c,该文件在FATFS文件系统源码的.\src\option目录下,将它添加到工程文件目录FATFS中。如图4是我们添加文件后的工程文件结构,再次编译就通过了。如图5所示。我们发现增加这个文件后代码量增加了很多,主要原因是这个文件是我们支持中文所需要的中文编码文件。
<IGNORE_JS_OP>

图3
<IGNORE_JS_OP>

图4
<IGNORE_JS_OP>

图5
    3、再次下载到板子中运行,发现中文的长文件名显示正常了。如图6所示。
<IGNORE_JS_OP>

    4、若不需要支持中文长文件名而只支持英文长文件名则可以将宏定义做如下修改:
    #define        _CODE_PAGE        437
    #define        _USE_LFN        1                /* 0 to 3 */
    同时将ccsbcs.c添加到工程目录中,这样就可以减小很多大代码量。将程序下载板子后再次运行结果如图7所示,可以看到可以支持英文的长文件名。
<IGNORE_JS_OP>
继承事业,薪火相传
返回列表