我程序中初始化调用mInitCH376Host函数如下,能正常通过。 UINT8 mInitCH376Host( void ) /* 初始化CH376 */ { UINT8 res; CH376_PORT_INIT( ); /* 接口硬件初始化 */ xWriteCH376Cmd( CMD11_CHECK_EXIST ); /* 测试单片机与CH376之间的通讯接口 */ xWriteCH376Data( 0x65 ); res = xReadCH376Data( ); xEndCH376Cmd( ); if ( res != 0x9A ) return( ERR_USB_UNKNOWN ); /* 通讯接口不正常,可能原因有:接口连接异常,其它设备影响(片选不唯一),串口波特率,一直在复位,晶振不工作 */ xWriteCH376Cmd( CMD11_SET_USB_MODE ); /* 设备USB工作模式 */ xWriteCH376Data( 0x06 ); mDelayuS( 20 ); res = xReadCH376Data( ); xEndCH376Cmd( ); if ( res == CMD_RET_SUCCESS ) return( USB_INT_SUCCESS ); else return( ERR_USB_UNKNOWN ); /* 设置模式错误 */ } 但在main函数中不停查询中断引脚状态,发现一直为高,即中断脚没有被拉低(插入U盘也一样),请问这一般是什么原因呢? void main(void) { while(1) { /* 在这个位置,插入U盘后,中断引脚应该为低电平的,但是却一直为高电平 */ if ( Query376Interrupt( ) ) { status = CH376GetIntStatus( ); /* 检测到中断 */ } } }