- /*******************************************************************************
- * Function Name : scan_current_folder
- * Description : 列举文件夹
- * Input : None.
- * Output : None
- * Return : None
- *******************************************************************************/
- void scan_current_folder(char *dirname)
- {
- FATFS FatFs; /* File system object for log ical drive */
- FILINFO finfo;
- DIR dirs;
- FRESULT res; // FatFs function common result code
- char path[20];
- int i=0,j=0;
- int Directory_num=0,Archive_num=0;
- disk_initialize(0);//初始化驱动器
- f_mount(0, &FatFs);//卸载或挂在一个逻辑驱动器
-
-
- res=f_opendir(&dirs, dirname);
- if ( res== FR_OK)
- {
- printf("\r\n\r\n%20s\r\n","*********************--File--*********************");
- while ((f_readdir(&dirs, &finfo) == FR_OK) && finfo.fname[0])
- {
-
- if (finfo.fattrib & AM_DIR)//如果是文件
- {
- printf("\r\n%s/%s", path, &finfo.fname[0]);
- strcpy(&ObjFile[Directory_num++].filename[0],(uint8_t *)&finfo.fname[0]);
-
- }
- if (finfo.fattrib & AM_ARC)//如果是文件
- {
- printf("\r\n%s/%s", path, &finfo.fname[0]);
- strcpy(&ObjFile[Archive_num++].wordname[0],(uint8_t *)&finfo.fname[0]);
- }
- else
- {
- }
- }
- if( Directory_num|Archive_num==0 )//无文件夹
- {
- printf("\r\n%33s\r\n","<无文件夹>");
- }
- printf("Print screen.%d,%d\n",i,j);
- // for(j=0;j<Directory_num;j++)
- // {
- // DisPlay_12X12_StrDis(&ObjFile[j].filename[0],0,j*12);
- // }
- for(j=0;j<Archive_num;j++)
- {
- DisPlay_12X12_StrDis(&ObjFile[j].wordname[0],0,(j)*12);
- }
- }
-
- // Unregister a work area before discard it
- f_mount(0, NULL);
- }
|