打印

【第三期】水贴! fats文件系统读取文件名!

[复制链接]
2108|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kyzb001|  楼主 | 2011-12-13 13:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 kyzb001 于 2011-12-14 12:19 编辑
 
/*******************************************************************************
* Function Name  : scan_current_folder
* Description    : 列举文件夹
* Input          : None.
* Output         : None
* Return         : None
*******************************************************************************/
void scan_current_folder()
{
    FILINFO finfo;
    DIR dirs;
FRESULT res;     // FatFs function common result code
int i;
        char path[20];
        int files_num=0;
disk_initialize(0);//初始化驱动器     
        f_mount(0, &fs);//卸载或挂在一个逻辑驱动器
        USART_Scanf_Name(path);
         
        res=f_opendir(&dirs, path);
    if ( res== FR_OK)  
{
printf("\r\n\r\n%20s\r\n","*********************--文件夹列表--*********************");
        while ((f_readdir(&dirs, &finfo) == FR_OK) && finfo.fname[0])  
{
i = strlen(finfo.fname);
            if (finfo.fattrib & AM_DIR)//如果是文件夹  
{
    files_num++;
printf("\r\n%s/%s", path, &finfo.fname[0]);
switch(i)//作用:输出文件名左对齐
{
        case 1:printf(" ");
case 2:printf(" ");
case 3:printf(" ");
case 4:printf(" ");
case 5:printf(" ");
case 6:printf(" ");
case 7:printf(" ");
case 8:printf("%15s"," ");
}

                         }  
else  
{     
                        }
                   }
if( files_num==0 )//无文件夹
{
    printf("\r\n%33s\r\n","<无文件夹>");      
}
    }
     
    // Unregister a work area before discard it
    f_mount(0, NULL);
}
注意修改ccsbcs的 宏

相关帖子

沙发
kyzb001|  楼主 | 2011-12-14 12:19 | 只看该作者
/******************************************************************************* 
* 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);
}

使用特权

评论回复
板凳
kyzb001|  楼主 | 2011-12-14 12:20 | 只看该作者
typedef struct 
{
        uint8_t filename[26];
        uint8_t wordname[26];
        uint8_t fileNumber;         
}file;

使用特权

评论回复
地板
hotpower| | 2011-12-28 14:22 | 只看该作者
顶起来,水太深~~

使用特权

评论回复
5
tony0708| | 2011-12-30 23:08 | 只看该作者
3Q了哦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:Is this my life

15

主题

623

帖子

1

粉丝