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

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

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

2、测试读文件
  • //读文件测试
  •         printf("read file test......\n\r");
  •         res = f_open(&fsrc, "0:/test.txt", FA_OPEN_EXISTING | FA_READ);
  •         if(res != FR_OK){
  •                 printf("open file error : %d\n\r",res);
  •         }else{
  •                 res = f_read(&fsrc, buffer, sizeof(textFileBuffer), &br);     /* Read a chunk of src file */
  •                 if(res==FR_OK){
  •                         printf("read data num : %d\n\r",br);
  •                         printf("%s\n\r",buffer);
  •                 }else{
  •                         printf("read file error : %d\n\r",res);
  •                 }
  •                 /*close file */
  •                 f_close(&fsrc);
  •         }

复制代码
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>
继承事业,薪火相传
返回列表