STM32Fatfs遍历文件(C语言实现)

发布者:tgdddt最新更新时间:2020-02-01 来源: eefocus关键字:STM32Fatfs  遍历文件  C语言 手机看文章 扫描二维码
随时随地手机看文章

两种方法二选一: 

//遍历文件

//path:路径

//返回值:执行结果

u8 mf_scan_files(u8 * path)

{

    FRESULT res;

    char *fn;   /* This function is assuming non-Unicode cfg. */

  char *p; 

#if _USE_LFN

    fileinfo.lfsize = _MAX_LFN * 2 + 1;

    fileinfo.lfname = mymalloc(SRAMIN,fileinfo.lfsize);

#endif

 

    res = f_opendir(&DirInfo,(const XCHAR*)path); //打开一个目录

    if (res == FR_OK)

    {

        printf("rn");

        while(1)

        {

            res = f_readdir(&DirInfo, &FilInfo);                   //读取目录下的一个文件

            if (res != FR_OK || FilInfo.fname[0] == 0) break;  //错误了/到末尾了,退出

 

#if _USE_LFN

            fn = *fileinfo.lfname ? fileinfo.lfname : fileinfo.fname;

#else

             fn = FilInfo.fname;   

#endif                                               /* It is a file. */

             p=strstr(fn,"bin");

      if(p!=NULL)

{

File_Name=fn;

break;

}

        }

    }

    return res;

}

 

/*------------------------------------------------------

 读取指定目录下所有的文件

 说明:

  f_readdir    按顺序读取目录内文件,

 重复调用此函数可读取目录内所有文件;

---------------------------------------------------------*/

void FatReadDirTest(s8 *path)

{

// FRESULT res; /* FatFs 函数通用结果代码 */

#if _USE_LFN//如果使能支持长文件名 先对下面两项初始化

    fileinfo.lfsize=_MAX_LFN * 2 + 1;//

    fileinfo.lfname=(TCHAR*)FileName;//

#endif

    if(f_opendir(&DirInfo,(const XCHAR*)path) == FR_OK)/* 打开文件夹目录成功,目录信息已经在dir结构体中保存 */

    {

        while(f_readdir(&DirInfo, &FilInfo) == FR_OK)  /* 读文件信息到文件状态结构体中 */

        {

            if(!FilInfo.fname[0]) break; /* 如果文件名为‘',说明读取完成结束 */

            printf("%s/",path);//打印路径

#if _USE_LFN

            printf("文件名:%srn",fileinfo.lfname );//打印信息到串口

#else

            printf("文件名:%srn", FilInfo.fname);//

#endif

        }

    }

}

关键字:STM32Fatfs  遍历文件  C语言 引用地址:STM32Fatfs遍历文件(C语言实现)

上一篇:STM32F103在线升级程序
下一篇:stm32f2 从 SD卡里面的读取程序的bootloader

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved