搜索U盤文件總數(shù) for ( e = 0; e < 255; e ++ ) { i = mCopyCodeStringToIRAM( mCmdParam.Open.mPathName, "\\*" ); //搜索文件 mCmdParam.Open.mPathName[ i ] = e; i = CH375FileOpen( ); if ( i == ERR_MISS_FILE ) {e--; break;} //文件總數(shù)計數(shù) if ( i == ERR_FOUND_NAME ) continue; else mStopIfError( i );//顯示錯誤代碼后返回 } 這段程序以前使用庫4正常, 為支持FAT32,庫4換庫6后,顯示錯誤代碼10H,請問為何?(U盤是FAT16)
你用的是串口方式,還是并口方式,對中斷INT腳,是中斷方式還是,查詢方式,還是直接去獲取狀態(tài),而沒有等待INT腳變低后,再去獲取狀態(tài).如果,直接獲取狀態(tài)的話,就很有可能會出錯. 另外,你 下最新的版本試試看!
并口方式,INT腳是中斷方式,庫6是最新的,前面的程序與CH375LIB\MCS51\FILELIB4\EXAM2里的演示程序相同。/* LX51 CH375HFT.OBJ , CH375HF4.LIB 如果將CH375HF4換成CH375HF6就可以支持FAT32 */ 可檢測到U盤的插入。 錯誤代碼10H是什么錯誤?375說明文檔內(nèi)沒有提到。
代碼10H通常是CH375的INT#中斷引腳狀態(tài)出錯,確切的說是檢測到了意外的或者多余的中斷, 可能原因有U盤插入后沒有延時或者沒有執(zhí)行DISKREADY等,或者你修改了xQueryInterrupt子程序但有錯誤
你的庫是不是最新的,建議你重新下載庫文件將聲明文件和庫文件重新替換試試。
1.U盤插入后延時6S,未調(diào)用DISKREADY,其它未修改。 另:調(diào)用以下程序死機 for ( i = 0; i < 10; i ++ ) { /* 有的U盤總是返回未準備好,不過可以被忽略 */ Delay10mS( 10 );//延時100mS if ( CH375DiskReady( ) == ERR_SUCCESS ) break; /* 查詢磁盤是否準備好 */ }
2.庫文件是昨晚重新下載的,試過不行。
死機原因找到了,我用的是CH375S。不支持CH375DiskReady( ) 。其它故障是否也是此原因? 如果是此原因,我就買幾片CH375A試一試。 客戶等著呢。 望回復(fù),為盼!
?????????????????????????????
?????????????????????????????
?????????????????????????????
?????????????????????????????
你用EXAM0或者EXAX1試試,查詢方式看有否問題,CH375DiskReady可以用于任何CH375S芯片, 有的U盤CH375DiskReady必須先執(zhí)行,還有,先盡量完全用沁恒的例子調(diào)通,好后再修改否則難查原因, 以前有個人報0x10錯是因為INT#中斷引腳連接有誤/沒有延時等
??? 以下命令僅適用于CH375A 芯片 01H GET_IC_VER 版本號獲取芯片及固件版本 03H ENTER_SLEEP 進入低功耗睡眠掛起狀態(tài) 58H DISK_INQUIRY 產(chǎn)生中斷查詢USB存儲設(shè)備的特性 59H DISK_READY 產(chǎn)生中斷檢查USB存儲設(shè)備是否就緒