我將FILE_DATA_BUF與DISK_DATA_BUF共用,首先,將數(shù)據(jù)寫到緩沖區(qū),然后設(shè)置寫入扇區(qū)數(shù)mCmdParam.WriteX.mSectorCount = 1;再保存緩沖區(qū)起始地址mCmdParam.WriteX.mDataBuffer = &FILE_DATA_BUF[0];最后調(diào)用CH375FileWriteX();調(diào)用CH375FileWriteX()前還調(diào)用了CH375DirtyBuffer();但最后文件的結(jié)果是在512個數(shù)據(jù)中有一塊連續(xù)的數(shù)據(jù)不對,而且每個512個數(shù)據(jù)的塊中都有這樣的數(shù)據(jù)出現(xiàn),數(shù)據(jù)也完全一樣,請教下是什么問題?[Emot]1[/Emot]
查看: 2827
回復(fù): 5
FILE_DATA_BUF與DISK_DATA_BUF共用問題
熱門產(chǎn)品 :
CH641: PD及無線充電專用MCU
我在描述下:存512個數(shù)據(jù)后調(diào)用CH375FileWriteX()將512個數(shù)據(jù)寫到文件,這樣每寫8個數(shù)據(jù)塊(一個數(shù)據(jù)塊512字節(jié)),再寫第九個數(shù)據(jù)塊就會出現(xiàn)一個塊的數(shù)據(jù)是錯的,錯誤的數(shù)據(jù)塊的數(shù)據(jù)全部一樣,但如果不共用FILE_DATA_BUF與DISK_DATA_BUF則不會出現(xiàn)這種情況,這是為什么呢?求解決??!
你這個錯誤是有規(guī)律的,每一個扇區(qū)會出錯,你去下載CH375LIB.ZIP,里面在MCS51/FILELIB4/EXAM3這個例子就是磁盤緩沖區(qū)與文件緩沖區(qū)共用的例子,你可以參考。
就是參考/EXAM3做的,是不是要用CH375HF4.lib這個庫,不能用CH375HF6.lib???
這兩個沒什么區(qū)別,只是對應(yīng)的.H需要一致。
看來只能在外面加RAM了
請勿發(fā)布廣告和違法內(nèi)容, 代碼可以選擇編輯器代碼語言格式, 更易他人閱讀幫助您, 或者留下聯(lián)系方式,以便更好更快服務(wù)您
只有登錄才能回復(fù),可以選擇微信賬號登錄