while ( 1 ) { while ( CH375DiskStatus != DISK_CONNECT ) xQueryInterrupt( ); 查詢CH375中斷狀態(tài)并等待U盤插入 LED_OUT_ACT( ); mDelay100mS( ); .................... ............. } 我看到CH375HF5.H里面有 關(guān)于xQueryInterrupt( )的定義, #ifndef NO_DEFAULT_CH375_INT #if LIB_CFG_INT_EN == 0 void xQueryInterrupt( void ) { #ifdef CH375_INT_WIRE while ( CH375_INT_WIRE ); #else while ( xReadCH375Cmd( ) & 0x80 ); #endif xWriteCH375Cmd( CMD_GET_STATUS ); CH375IntStatus = xReadCH375Data( ); if ( CH375IntStatus == USB_INT_DISCONNECT ) CH375DiskStatus = DISK_DISCONNECT; else if ( CH375IntStatus == USB_INT_CONNECT ) CH375DiskStatus = DISK_CONNECT; }
上面的程序是查詢方式 ,CH375為主機方式 我是想問,我在線調(diào)試的時候,發(fā)現(xiàn), 沒有接U盤得時候, 程序運行到xQueryInterrupt( ); // 查詢CH375中斷狀態(tài)并等待U盤插入 就停住了 然后接上U盤后,程序才往下運行
這說明U盤接上的時候,使CH375產(chǎn)生中斷嗎? 這是不是說明CH375的USB工作模式為 切換到已啟用的 USB 主機方式?、 我在程序里也沒看到USB的工作模式的設(shè)置程序
這是不是就是說明 USB工作在自動檢測U盤插入的模式下? 當(dāng)有U盤插入的時候,CH375產(chǎn)生中斷? 這些設(shè)置都在庫文件里面設(shè)置好了?