U盘例程问题

2019-08-23 16:27发布

我用U盘例程来插U盘能运行那些mf_scan_files("2:")这些指令,可一添加了触摸屏的touch;24xx;myiic;ft5206;ott2001ac;gt9147;添加之后他就不能运行mf_scan_files();返回值是01,这是因为什么,但他能检测到U盘插入成功
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
小卿
2019-08-23 20:11
openedvadmin 发表于 2016-1-20 20:53
其他代码都没有改动么?

u8 mf_scan_files(u8 * path)
{
        int j=0;
        FRESULT res;          
    char *fn;   /* This function is assuming non-Unicode cfg. */
#if _USE_LFN
        fileinfo.lfsize = _MAX_LFN * 2 + 1;
        fileinfo.lfname = mymalloc(SRAMIN,fileinfo.lfsize);
#endif                  

    res = f_opendir(&dir,(const TCHAR*)path); //打开一个目录
    if (res == FR_OK)
        {       
                printf(" ");
                while(1)
                {  
                       
                res = f_readdir(&dir, &fileinfo);                   //读取目录下的一个文件
                if (res != FR_OK || fileinfo.fname[0] == 0){j=0; break;}  //错误了/到末尾了,退出
                             j++;
                //if (fileinfo.fname[0] == '.') continue;             //忽略上级目录
#if _USE_LFN
                fn = *fileinfo.lfname ? fileinfo.lfname : fileinfo.fname;
#else                                                          
                fn = fileinfo.fname;
#endif                                                      /* It is a file. */
                        //改动 添加了for ,SHOw

                        printf("%s/", path);//打印路径       
                        printf("%s ",  fn);//打印文件名
                        Show_Str(30,400+24*j,400,24,fn,24,1);//添加了这句
       
                               
                }
  }       
myfree(SRAMIN,fileinfo.lfname);
    return res;          
}


就添加了一个变量j和show在里面用来显示在LCD上。可是我在程序上单独得调用他就不行了,不是在调试助手里调用

一周热门 更多>