野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13353|回复: 4

新版本f_mount的用法

[复制链接]
发表于 2015-8-6 09:55:05 | 显示全部楼层 |阅读模式
FRESULT f_mount (
                               FATFS* fs,                         /* Pointer to the file system object (NULL:unmount)*/
                               const TCHAR* path,          /* Logical drive number to be mounted/unmounted */
                               BYTE opt                           /* 0o not mount (delayed mount), 1:Mount immediately */
                              )
请问调用时怎么写 path?
                             如果在diskio.c这样定义的:
                                                                       /* Definitions of physical drive number for each drive */
                                                                     #define    ATA      0                 /* Example: Map ATA harddisk to physical drive 0 */
                                                                     #define    MMC     1                /* Example: Map MMC/SD card to physical drive 1 */
                                                                     #define    USB      2                /* Example: Map USB MSD to physical drive 2 */
那么调用时就应该是f_mount(&fs,"1", 0),  ''1''表示MMC/SD卡,请问我这样理解对吗?
另外 opt   应该写0还是写1呢?

回复

使用道具 举报

发表于 2015-8-6 17:52:45 | 显示全部楼层
一直在用:挂载:result=f_mount(&fs,"1:",1);
解挂载:result=f_mount(&fs,"1:",0);
其中"1:"的1确实是你的 理解,表示MMC/SD卡
http://www.firebbs.cn/thread-8766-1-1.html
链接中的uCOSIII+emWin程序都是用R0.10版本的FATFS你可以参考
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-6 18:55:05 | 显示全部楼层
亽亼 发表于 2015-8-6 17:52
一直在用:挂载:result=f_mount(&fs,"1:",1);
解挂载:result=f_mount(&fs,"1:",0);
其中"1:"的1确实是 ...

非常感谢!
下面是mp3.c的一段函数代码,  递函数作用是扫描sd卡内的歌曲文件
static FRESULT scan_files (char* path)
{
    FRESULT res;   //部分在递归过程被修改的变量,不用全局变量
    int i;
    res = f_opendir(&dir, path); //打开目录
    if (res == FR_OK)
   {
       i = strlen(path);
            .....
     strlen(path)是一个什么作用?
    问得有点多,不好意思啊.
      
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-6 19:04:34 | 显示全部楼层
亽亼 发表于 2015-8-6 17:52
一直在用:挂载:result=f_mount(&fs,"1:",1);
解挂载:result=f_mount(&fs,"1:",0);
其中"1:"的1确实是 ...

要不你们弄一个付费问答了,我都问得有点不好意思了,
花了三百块钱买了你们的书和板子,却能提供这么多的售后服务,感动......
回复 支持 反对

使用道具 举报

发表于 2015-8-6 20:33:04 | 显示全部楼层
i=strlen(path)
是求出path这个字符串的长度,这里主要是赋值给变量i,你可以看看变量i在接了下的程序段中的使用来判断这条语句的作用
主要目的是用在&path[i] -> 找到最后一个字符下一位地址,以便在该地址继续添加字符
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 15:06 , Processed in 0.050916 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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