使用 CH375S芯片, i = CH375LibInit( ) 返回 0x81:硬件錯(cuò)誤。 示波器顯示各管腳基本正常,除供電電壓稍低。 在簡(jiǎn)單測(cè)試程序中,插拔U盤,有中斷,但是中斷后INT一直是低電平,沒有清除。 中斷例程如下: void __irq CH375Interrupt( void ) /* CH375中斷服務(wù)程序,由CH375的INT#的低電平或者下降沿觸發(fā)單片機(jī)中斷 */ { rI_ISPC|=BIT_EINT3; //clear pending_bit // CH375Cmd = 0; // CH375Dat = 0; xWriteCH375Cmd( CMD_GET_STATUS ); /* 獲取中斷狀態(tài)并取消中斷請(qǐng)求 */ CH375IntStatus = xReadCH375Data( ); /* 獲取中斷狀態(tài) */ if ( CH375IntStatus == USB_INT_DISCONNECT ) CH375DiskStatus = DISK_DISCONNECT; /* 檢測(cè)到USB設(shè)備斷開事件 */ else if ( CH375IntStatus == USB_INT_CONNECT ) CH375DiskStatus = DISK_CONNECT; /* 檢測(cè)到USB設(shè)備連接事件 */
}
void xWriteCH375Cmd( UINT8 mCmd ) /* 外部定義的被CH375程序庫調(diào)用的子程序,向CH375寫命令 */ { mDelay1_2uS( ); mDelay1_2uS( ); /* 至少延時(shí)1uS */ CH375Cmd = mCmd; mDelay1_2uS( ); mDelay1_2uS( ); /* 至少延時(shí)2uS */ }
CH375Cmd 定義為0xe000001 CH375Dat 0xe000000
請(qǐng)版主看看有什么問題,謝謝!