我自己的Diamond不管怎么操作都正常,但是別人的"清華紫光128M"幾乎大一點的文件,都不正常,ASUS出產(chǎn)的U盤也是操作基本上都正常,請問一下,有沒有人用這幾寬U盤,是不是CH375A不支持這兩款U盤. 小文件還比較正常,大文件有時候又可以正常操作,調(diào)試了好幾天,都是一樣的結(jié)果,所以不知道是什么問題引起的! 另外這些U盤都可以正常的讀出U盤的大??!
你是用總線還是用模擬I/O口的方式來操作U盤的??可以不可以看下你的三個讀寫子函數(shù)以及你的延時
void mDelay1_2uS(void) { INT32U i; for (i = 18; i != 0; i --);
}
void xWriteCH375Cmd(INT8U mCmd ) { mDelay1_2uS( ); mDelay1_2uS( ); CH375Cmd = mCmd; mDelay1_2uS( ); mDelay1_2uS( ); }
void xWriteCH375Data(INT8U mData ) { CH375Dat = mData ; mDelay1_2uS( ); }
INT8U xReadCH375Data(void) { INT8U mData;
mDelay1_2uS( ); mData = (INT8U)CH375Dat; return(mData); }
總線方式
#define CH375Cmd *(volatile INT8U *)(0x04000001) /*總線方式 BANK2--nGCS2*/ #define CH375Dat *(volatile INT8U *)(0x04000000)
相關(guān)程序和原理圖已發(fā)到貴公司技術(shù)部的郵箱里面,請貴公司技術(shù)部人員能幫我看看,非常感謝!
操作哪部分出現(xiàn)了問題??返回的錯誤代碼是多少??
在函數(shù) void xQueryInterrupt( void ) /* 查詢中斷狀態(tài),等待硬件中斷 */ { while ( CH375IntStatus == 0 ); /* 子程序庫調(diào)用該子程序之前CH375IntStatus=0,硬件中斷后,由中斷服務(wù)程序置為非0的實際中斷狀態(tài)后返回 */ } 里面死循環(huán)
程序和原理圖都發(fā)在貴公司的技術(shù)部郵箱里面了,能夠幫我看看,是不是程序出了問題,非常感謝!
可能是ch375a本身讀u盤就有些問題