我想請問的問題: 1,當(dāng)插上U盤以后,INT#引腳是不是該一直低電平??? 2,若插上U盤以后INT#引腳一直是低電平,那么當(dāng)有些命令需要產(chǎn)生中斷時,該如何識別,如CMD_DISK_WR_GO命令將會產(chǎn)生中斷,這如何識別呢???
插入U盤后INT拉低,通知你去獲取中斷狀態(tài),讀375的中斷狀態(tài)后,INT腳就拉高了,接著才能進(jìn)行別的命令請求
1,如果硬件連線沒有問題,那么初始化CH375之后插入U盤則INT#引腳一直為低。 2,如果單片機檢測到中斷引腳為低電平之后需要發(fā)送獲取中斷狀態(tài)的命令(0X22)讀取中斷狀態(tài),根據(jù)中斷狀態(tài)來判斷U盤是否插入、拔除以及操作成功的中斷狀態(tài)。
xWriteCH375Cmd( CMD_RD_USB_DATA ); /* 從當(dāng)前USB中斷的端點緩沖區(qū)讀取數(shù)據(jù)塊, 并釋放緩沖區(qū) */ i = xReadCH375Data( ); /* 后續(xù)數(shù)據(jù)的長度 */ 這兩條語句之后,i中應(yīng)該是什么內(nèi)容??? 后續(xù)數(shù)據(jù)都有什么????
i的值是計算機給你發(fā)的數(shù)據(jù)長度。如果計算機發(fā)送30個字節(jié),那么i就是30.
麻煩您一下,請再幫我解釋下面的程序(CH375EV0.C中mInitDisk的內(nèi)容): /* 可以由CMD_RD_USB_DATA命令將容量數(shù)據(jù)讀出,分析每扇區(qū)字節(jié)數(shù) */ xWriteCH375Cmd( CMD_RD_USB_DATA ); /* 從當(dāng)前USB中斷的端點緩沖區(qū)讀取數(shù)據(jù)塊, 并釋放緩沖區(qū) */ i = xReadCH375Data( ); /* 后續(xù)數(shù)據(jù)的長度 */ if ( i != 8 ) return( USB_INT_DISK_ERR ); /* 異常 */ for ( i = 0; i != 8; i ++ ) { /* 根據(jù)長度讀取數(shù)據(jù) */ DATA_BUFFER[ i ] = xReadCH375Data( ); /* 讀出數(shù)據(jù)并保存 */ } i = DATA_BUFFER[ 6 ]; /* U盤容量數(shù)據(jù)中的每扇區(qū)字節(jié)數(shù),大端格式 */
讀取后續(xù)長度是8個字節(jié),如果不是則返回錯誤。
額······,再麻煩一下: 我想知道的是那8個字節(jié)的內(nèi)容都是什么含義?其具體內(nèi)容是什么???
前4個字節(jié)以高字節(jié)在前組成的雙字?jǐn)?shù)據(jù)是USB存儲設(shè)備的總扇區(qū)數(shù),后4個字節(jié)以 高字節(jié)在前組成的雙字?jǐn)?shù)據(jù)是每個扇區(qū)的字節(jié)數(shù),兩個數(shù)據(jù)相乘的結(jié)果就是以字節(jié)為單位的USB存儲 設(shè)備的總?cè)萘? 手冊上有的,可以看下