SPI、1M、模式0x06、U盤兩個都是fat32,一個是16G、另一個32G,分配單元大小都試過4096Bytes和64k。只關(guān)心文件打開和數(shù)據(jù)寫入。有正常寫入過,而且可以打開TXT讀出來數(shù)據(jù)是正常的。(另外查看SPI的波形,確實存在比較小的失真,但實際上寫入成功的情況也存在失真,不清楚這里的影響是否會很大)
1、有時候在操作打開根目錄的時候,命令0x32的中斷狀態(tài)讀出來是文件已關(guān)閉0xb4
2、關(guān)閉某個文件之后再次調(diào)用命令0x36后可以讀出中斷狀態(tài)是文件已關(guān)閉0xb4,但是再次調(diào)用命令0x32逐級打開的時候,目錄的每一級返回終端狀態(tài)都是文件已打開0x41.這里不是很理解,有時候?qū)懭氲臄?shù)據(jù)不能正常保存,不清楚是否與這里有關(guān)。正常不應(yīng)該是關(guān)閉后,執(zhí)行0x32再次嘗試打開的時候會回操作成功0x00。
3、還有一個問題是,有時候調(diào)用寫入的時候會出現(xiàn)ch378給中斷信號。寫入的指令順序用的是:定位指針0x39 -> 取得緩存偏移地址0x2e?-> 寫入的數(shù)據(jù)長度和數(shù)據(jù)發(fā)送 -> 執(zhí)行寫入0x3C。這之中的某個地方一定時間(一兩秒吧)內(nèi)沒有得到正確的中斷信號回復(fù)就會從頭開始重試,循環(huán)執(zhí)行幾次后會出現(xiàn)一直等不到執(zhí)行寫入0x3C的回復(fù)的情況,之后就算是成功關(guān)閉文件,再次打開文件,再次回來重試也無法等到正確的回復(fù)。
4、關(guān)閉文件之后順帶使用0x59指令對磁盤狀態(tài)進行刷新會有什么不好的影響嗎。
5、還有的時候會創(chuàng)建出名如“DATA.TXT”的文件夾,沒有很理解,有沒有什么辦法可以避免。
6、3中描述的寫入過程因為要循環(huán)操作寫入大量的數(shù)據(jù)。(每次數(shù)據(jù)量大概是百kBytes級別,測試的時候是十kBytes級別,實際上這里得到的結(jié)果都一樣)。嘗試過每次寫入一定量的數(shù)據(jù)(200kBytes)重新關(guān)閉打開文件,結(jié)果是有可能文件打不開,有時也還會出現(xiàn)命令0x3C寫入回復(fù)狀態(tài)0x01(這里最不理解)。嘗試每次寫入成功后都重新關(guān)閉并打開文件,一樣會出現(xiàn)寫入指令0x3C執(zhí)行后得不到中斷的情況,或者是打不開文件。