(1)CH374EVT的device例子中為什么要連續(xù)讀兩次中斷標(biāo)志寄存器 int main( void ) // USB device { mDelaymS( 50 ); // 等待CH374復(fù)位完成 CH374_PORT_INIT( ); // CH374接口初始化 Init374Device( ); // 初始化USB設(shè)備 while ( 1 ) { // 等待USB設(shè)備中斷,然后處理USB設(shè)備中斷 if( Query374Interrupt() ) // -------------讀出的中斷標(biāo)志與0x0F與 { USB_DeviceInterrupt( ); // -------------處理具體中斷 } } }
查詢的時(shí)候讀了一次,處理之前又讀了一次,如果取消前一次查詢的讀動(dòng)作,發(fā)現(xiàn)PC都不能加載驅(qū)動(dòng)了,仿真發(fā)現(xiàn)兩次讀取的中斷標(biāo)志居然是不同的,可是期間根本沒(méi)有USB通信哦。 這是怎么回事呢?
(2)使用DEBUG372.EXE來(lái)調(diào)試CH374.如果按照正常的操作先“下傳”再“上傳”,通信沒(méi)什么問(wèn)題,可是如果多點(diǎn)幾下“上傳”,通信就死掉了。 ----重啟DEBUG372.EXE沒(méi)用; ----下位機(jī)程序中把上傳和下傳處理加入互鎖也沒(méi)用; ----仿真發(fā)現(xiàn)這時(shí)候無(wú)論點(diǎn)什么,下位機(jī)程序根本產(chǎn)生不了中斷,難道CH374芯片死了?
請(qǐng)wch工程師或其他同學(xué)解惑,謝謝!