大家好。
我看到exam13和datasheet里面描述枚舉的功能都是這樣實(shí)現(xiàn)的: CH376FileOpen("\\SONG"); CH376SetFileName( "*" ); xWriteCH376Cmd( CMD0H_FILE_OPEN ); xEndCH376Cmd( ); while(1) { s = Wait376Interrupt( ); if ( s == USB_INT_DISK_READ ) //搜索到一個(gè)文件 { xWriteCH376Cmd( CMD0H_FILE_ENUM_GO );//繼續(xù)枚舉 xEndCH376Cmd( ); } } 也就是說,一旦開始枚舉,就會(huì)從目錄下第一個(gè)文件開始枚舉,我想請(qǐng)問一下,是否能夠選擇從某個(gè)文件之后開始枚舉?比如,目錄下面有100個(gè)文件,我之前已經(jīng)枚舉前面50個(gè),然后枚舉過程被打斷了(單片機(jī)去執(zhí)行其他事務(wù)),然后我再次進(jìn)入該目錄,繼續(xù)枚舉剩下的文件。請(qǐng)問能否實(shí)現(xiàn)這樣的功能?如何實(shí)現(xiàn)?
是否存在類似下面的情況? CH376FileOpen("\\SONG"); ch376bytelocate(n);(指針偏移之后再開始枚舉?[Emot]3) CH376SetFileName( "*" ); xWriteCH376Cmd( CMD0H_FILE_OPEN ); xEndCH376Cmd( );
謝謝。 ========= ps:我現(xiàn)在的方法是,當(dāng)需要枚舉出第n個(gè)文件的時(shí)候,就忽略(n-1)個(gè)USB_INT_DISK_READ,等到第n次中斷產(chǎn)生的時(shí)候再響應(yīng)。但是這樣一來,越往后的文件就需要忽略越多次中斷,第100個(gè)文件需要CMD0H_FILE_ENUM_GO一百次,第500個(gè)文件需要CMD0H_FILE_ENUM_GO 五百次,……需要耗費(fèi)太長(zhǎng)的時(shí)間。