读取SD卡下所有文件目录的名字 您所在的位置:网站首页 sd卡文件名称及含义 读取SD卡下所有文件目录的名字

读取SD卡下所有文件目录的名字

2024-05-28 23:25| 来源: 网络整理| 查看: 265

 1.前言

读取SD卡根目录下文件夹的名字用到FATFS相关的API函数有如下:

 1) f_mount--挂载SD

 2) f_opendir--打开目录

 3) f_readdir--读取目录

 4 ) f_closedir--关闭目录

 2.测试内容

       在SD卡下我们先建立3个文件夹,名字分别命名为beijing chengdu shanghai。通过单片机读出这三个名字发给电脑,在串口显示助手查看读到的文件名,验证读取到的正确性。 

     

                                                                                                       图一

3.测试程序 /* char* path: 要扫描的文件路径 char *buff: 存放读取到的文件夹名字 */ u16 scan_files (char* path,char *buff) { static FILINFO fno; //文件信息结构体 fr = f_opendir(&dir, path); // 打开文件目录 if (fr == FR_OK) {//如果打开成功循环读出文件名字到buff中 for (;;) { //循环读出文件名字,循环次数等于SD卡根目录下的文件数目 fr = f_readdir(&dir, &fno); //读取文件名 if (fr != FR_OK || fno.fname[0] == 0) break; //读取错误或者读完所有文件结束就跳出循环 if (fno.fattrib & AM_DIR)//读取的是文件夹名字 { strcpy(buff, fno.fname); //复制文件名字到缓存并打印文件名 printf("%s\r\n",buff); } } f_closedir(&dir);//关闭文件目录 } return fr;// 返回 } int main (void) { FRESULT fr; //读文件返回值 FATFS fs; //记录文件盘符结构体 DIR dir; // char dirbuff[255]; //存储读到的文件名 fr=f_mount(&fs,"0:",1);//挂载SD卡 挂载成功返回FR_OK,错误返回错误值 if(fr==FR_OK) //如果挂载成功扫描文件路径 { scan_files("",dirbuff); //""是sd卡根目录路径 } else { 重新挂载 } while(1) }  3.调试说明:

       SD卡根目录下固定有个文件夹名字是 System Volume Information。你在SD卡下建立三个文件夹的话,实际读出4个文件夹,其中第一个读出的文件夹的名字就是System Volume Information。

4.测试结果:

   1)在电脑查看SD卡根目录文件夹。

    在网上下载Winhex软件,以管理员身份运行,打开SD卡盘符,可以看到根目录下的文件夹如下所示:

                                                                                      图二

 

 2) 程序调试窗口输出的结果如下所示。

第一个输出的文件如下所示:

                                          

                                                                                            图三

自己新建的三个文件如下图:

                                             

                                                                                             图四

                                        

                                                                                             图五

                                           

                                                                                      图六

3) 电脑串口助手输出的结果如下所示。

                                  

                                                                                           图七



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有