FatFs R0.12移植,不能分辨中文文件和文件夹

2019-10-15 02:22发布

请问各位大神,我在使用STM32F103ZET6  移直FatFs R0.12、FatFs R0.12a 和 FatFs R0.12b版本时,通过判断(fno.fattrib & AM_ARC) 和(fno.fattrib & AM_DIR)来辨别读取指定目录下的文件类别时,有时候会读到fno.fattrib=0x00;特别是中文文件和中文文件夹时,就不能识别他的类型,请问有什么办法可以解决?
这是源代码
unsigned char CheckUpDataFiles( void ){
       
        u8 res = 0;

        if(f_opendir(&dir,"0:/") == FR_OK) { // 打开 文件夹成功
                        while(f_readdir(&dir, &fno) == FR_OK) { // 读目录信息到文件状态结构体中
                                if(!fno.fname[0]) break; // 0,结束
                                if(fno.fattrib & AM_ARC        ) { // // 如果是文件
                                                 USART1_printf("文件 %s ",fno.fname);       
                                                                                               
                                }
                                else if(fno.fattrib & AM_DIR ) {// 如果是文件夹                                                       
                                                USART1_printf("文件夹 %s ",fno.fname);       
                                }
                                else{
                                        USART1_printf("错误%d %s ",fno.fattrib,fno.fname);       
                                }
                        }
                        f_closedir(&dir);//关闭目录
                }
        else{
                USART1_printf("文件打开失败 ");       
        }
        return 0;
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。