初始化成功; 接着就枚举文件 strcpy(PathName,"\\HB\\*" );//HB目录下的文件* s = CH376FileOpenPath( (UINT8*)PathName ); /* 枚举HB多级目录下的文件或者目录,输入缓冲区必须在RAM中 */ U盘里有HB目录,里面有文件, 但是s返回值是0xfa;不知道什么问题? 版主帮帮忙啊!
你直接打开"\\HB\\"下面的某一个文件可以打开吗?返回0XFA多数是未产生中断,建议你看下CH376在等待中断函数的超时去掉在测试下。
static void Disp_Disk_Status(INT8U status) { INT32U UDCapSize,UDFreSize;//U盘容量、剩余空间,单位:M UDCapSize =0; UDFreSize =0; /*获得U盘的容量大小*/ if( (status&0x01)==0x00 )//U盘连接好 { /* 查询磁盘物理容量,扇区数 */ if(CH376DiskCapacity( &UDCapSize)==USB_INT_SUCCESS) { UDCapSize =UDCapSize *512/1024/1024; } /* 查询磁盘剩余空间信息,扇区数 */ if(CH376DiskQuery( &UDFreSize )==USB_INT_SUCCESS) { UDFreSize =UDFreSize *512/1024/1024; } //printf("磁盘物理容量%d\r\n",UDCapSize); //printf("磁盘剩余容量%d\r\n",UDFreSize); lcd_disp_string(320,4,"检测到U盘......",LCD_RED,LCD_BLUE); //disp_long(100+12*8,460,UDFreSize); } else { lcd_disp_string(320,4,"没检测到U盘....",LCD_RED,LCD_BLUE); } delay_ms(1000);//添加了延时1秒钟 } 添加了延时1秒钟 就可以了
你需要发送DISK-MOUNT命令,等待这个命令成功之后才能进行下面的步骤。