CH375FileOpen()函数跳不出来的问题[求助]

我确定一直到CH375DiskReady( )函数都是正确的,都能返回ERR_SUCCESS,就是在执行 CH375FileOpen()函数时跳不出来,后来发现程序死在while ( CH375_INT_WIRE())这条语句里面: void xQueryInterrupt( void ) /* 查询CH375中断并更新中断状态 */ { while ( CH375_INT_WIRE() ); /* 如果CH375的中断引脚输出高电平则等待 */ xWriteCH375Cmd( CMD_GET_STATUS ); /* 获取当前中断状态,发出命令后至少延时2uS */ CH375IntStatus = xReadCH375Data( ); /* 获取中断状态 */ if ( CH375IntStatus == USB_INT_DISCONNECT ) CH375DiskStatus = DISK_DISCONNECT; /* 检测到USB设备断开事件 */ else if ( CH375IntStatus == USB_INT_CONNECT ) CH375DiskStatus = DISK_CONNECT; /* 检测到USB设备连接事件 */ }

请问版主如何解决啊?

测试能通过 unsigned int rdx ,t=0x99; xWriteCH375Cmd(CMD_CHECK_EXIST); //发一个测试命令 xWriteCH375Data(0x66); //发测试数据 rdx = xReadCH375Data(); //接受数据 if( rdx == t ) { LCD_Disp_String(0,0,"OK"); LCD_Disp_Num(0, 1,rdx); //显示测试后的数据 LCD_Disp_Num(5, 1,CH375GetVer()); //显示的版本号为 41 } else // 不正常 { LCD_Disp_String(0,0,"NOT OK"); mDelaymS( 100 ); /* 延时100毫秒 */ LCD_Disp_Num(0, 1,rdx); //显示测试后的数据 LCD_Disp_Num(5, 1,CH375GetVer()); //显示的版本号为 41 // while(1); } while(1);


测试能通过 unsigned int rdx ,t=0x99; xWriteCH375Cmd(CMD_CHECK_EXIST); //发一个测试命令 xWriteCH375Data(0x66); //发测试数据 rdx = xReadCH375Data(); //接受数据 if( rdx == t ) { LCD_Disp_String(0,0,"OK"); LCD_Disp_Num(0, 1,rdx); //显示测试后的数据 LCD_Disp_Num(5, 1,CH375GetVer()); //显示的版本号为 41 } else // 不正常 { LCD_Disp_String(0,0,"NOT OK"); mDelaymS( 100 ); /* 延时100毫秒 */ LCD_Disp_Num(0, 1,rdx); //显示测试后的数据 LCD_Disp_Num(5, 1,CH375GetVer()); //显示的版本号为 41 // while(1); } while(1);


版本号是54


文件名是否正确?要用8+3大写格式的。


U盘里面没有文件的,这样应该返回 ERR_MISS_DIR || ERR_MISS_FILE这个吧,但是CH375FileOpen()不会返回,一直再等到CH375_INT引脚变低


只有登录才能回复,可以选择微信账号登录