用CH376主機(jī)讀寫U盤。我按照

①? CMD_SET_FILE_NAME命令+CMD_FILE_OPEN命令,打開文件
②? CMD_BYTE_LOCATE命令,參數(shù)是0FFFFFFFFH,移動(dòng)文件指針到文件末尾
③ 一次CMD_BYTE_WRITE命令+CMD_WR_REQ_DATA 命令+CMD_BYTE_WR_GO命令,每次寫入 0dh,0ah結(jié)尾的20H個(gè)字節(jié)

④? CMD_FILE_CLOSE命令,參數(shù)是1,關(guān)閉文件并允許自動(dòng)更新文件長(zhǎng)度

能夠反復(fù)多次正常運(yùn)行。

但是當(dāng)寫 30H個(gè)字節(jié)的時(shí)候,重復(fù)上面的操作10次以后,CMD_WR_REQ_DATA 命令后,就只能再寫20H字節(jié)了。我不明白,上面的過(guò)程是一個(gè)完整的過(guò)程,每次都打開;關(guān)閉文件,為什么第11次CMD_BYTE_WRITE命令 30H字節(jié),而?CMD_WR_REQ_DATA 命令后,就只返回20H字節(jié)了。是否內(nèi)部緩沖器在關(guān)閉文件的時(shí)候都不復(fù)位。好像內(nèi)部緩沖器只有 200H個(gè)字節(jié),寫到 200H-(30H*0AH)= 20H 了。

?????? 如果我在上面操作中先寫 20H字節(jié),CMD_FILE_CLOSE,再重復(fù)上面1-4的操作,但是僅寫入剩余的 10H字節(jié)。


熱門產(chǎn)品 : USB3.0 HUB控制器:CH634