我查得文件是3.7M的MP3,可是只能讀文件前面的341個扇區(qū)

我查得文件是3.7M的MP3,可是只能讀文件前面的341個扇區(qū)。 while(1) { mCmdParam.Read.mSectorCount =1; // 指定讀取的扇區(qū)數(shù) CH375FileRead(); c++;//讀完后文件指針自動后移 if (mCmdParam.Read.mSectorCount<1 ) break; } // 實際讀出的扇區(qū)數(shù)較小則說明文件已經(jīng)結(jié)束 我做的MP3,只能讀前面341扇區(qū),請教

mCmdParam.Read.mSectorCount =2; // 指定讀取的扇區(qū)數(shù) CH375FileRead(); c++; if (mCmdParam.Read.mSectorCount<2 ) break; // 實際讀出的扇區(qū)數(shù)較小則說明文件已經(jīng)結(jié)束 這個設置為1K的緩沖區(qū),只能讀16個扇區(qū),請教WCH的工程師


UINT8 CH375FileRead( void ) /* 從當前文件讀取數(shù)據(jù) */ { mCmdParam.ReadX.mDataBuffer = &FILE_DATA_BUF[0]; /* 指向文件數(shù)據(jù)緩沖區(qū) */ return( CH375FileReadX( ) ); } 說明書上說mCmdParam.Read.mSectorCount =2; CH375FileRead(); 就讀兩個扇區(qū)到1K的文件數(shù)據(jù)緩沖區(qū)

CH375FileRead(); 按照上面的函數(shù),不是只能讀一個扇區(qū)嗎?CH375FileReadX( )一次,讀一個扇區(qū),這不是很矛盾嗎?


前面應該有一個while循環(huán)吧: while ( 1 ) { c = 32; 每次讀取32個扇區(qū) mCmdParam.Read.mSectorCount = c; 指定讀取的扇區(qū)數(shù) CH375FileRead(); 讀完后文件指針自動后移 處理數(shù)據(jù) if ( mCmdParam.Read.mSectorCount < c ) break; 實際讀出的扇區(qū)數(shù)較小則說明文件已經(jīng)結(jié)束 }


CH375FileRead(); 讀完后文件指針自動后移別 //那么是后移32個扇區(qū)?如果是的話,那不是要把文件數(shù)據(jù)緩沖區(qū)設置為32個?


續(xù)上,謝謝解答。 UINT8 CH375FileRead( void ) /* 從當前文件讀取數(shù)據(jù) */ { mCmdParam.ReadX.mDataBuffer = &FILE_DATA_BUF[0]; /* 指向文件數(shù)據(jù)緩沖區(qū) */ return( CH375FileReadX( ) ); } 每執(zhí)行一個( CH375FileReadX( ) ); “ 讀完后文件指針自動后移一個扇區(qū)嗎?” 那么為什么CH375FileRead( void ) “ 讀完后文件指針自動后移32個扇區(qū)嗎?”


不是這個意思,"讀完后文件指針自動后移"指的是讀完一個扇區(qū)的文件,指向下一個文件,你讀出一個扇區(qū)的數(shù)據(jù)之后,那你就將這一個扇區(qū)的數(shù)據(jù)在處理完在讀下一個扇區(qū),而不是全讀出來在處理


讀完后文件指針自動后移"指的是讀完一個扇區(qū)的文件,指向下一個文件, 是不是應該這么理解,讀完后文件指針自動后移"指的是讀完A文件一個扇區(qū)后,指向A文件下一個扇區(qū)? ,


恩恩


只有登錄才能回復,可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频