(1)CH374EVT的device例子中为什么要连续读两次中断标志寄存器 int main( void ) // USB device { mDelaymS( 50 ); // 等待CH374复位完成 CH374_PORT_INIT( ); // CH374接口初始化 Init374Device( ); // 初始化USB设备 while ( 1 ) { // 等待USB设备中断,然后处理USB设备中断 if( Query374Interrupt() ) // -------------读出的中断标志与0x0F与 { USB_DeviceInterrupt( ); // -------------处理具体中断 } } }
查询的时候读了一次,处理之前又读了一次,如果取消前一次查询的读动作,发现PC都不能加载驱动了,仿真发现两次读取的中断标志居然是不同的,可是期间根本没有USB通信哦。 这是怎么回事呢?
(2)使用DEBUG372.EXE来调试CH374.如果按照正常的操作先“下传”再“上传”,通信没什么问题,可是如果多点几下“上传”,通信就死掉了。 ----重启DEBUG372.EXE没用; ----下位机程序中把上传和下传处理加入互锁也没用; ----仿真发现这时候无论点什么,下位机程序根本产生不了中断,难道CH374芯片死了?
请wch工程师或其他同学解惑,谢谢!