我試著自己寫CH376S的驅(qū)動(dòng),先從在根目錄創(chuàng)建一個(gè)文件夾開始,結(jié)果就出問題了,具體步驟如下:
(使用的是串口)
1、系統(tǒng)上電,發(fā)送57 AB 06 22,返回DD,說明通訊接口工作正常
2、57 AB 15 05,等待U盤接入
3、U盤接入
4、57 AB 15 07復(fù)位總線
5、57 AB 15 06,切換到主機(jī)自動(dòng)SOF模式
6、57 AB 31,check disk mount,datasheet上說操作文件系統(tǒng)的時(shí)候必須要先有這個(gè)指令,之后我用57 AB 27也就是RD_USB_DATA0指令確實(shí)讀回了一串?dāng)?shù)據(jù),里面有我U盤廠商的名字(臺(tái)電科技的英文名字)
7、57 AB 2F 2F 41 41 41 00,set file name "/AAA\0",要?jiǎng)?chuàng)建一個(gè)名為AAA的根目錄文件夾
8、57 AB 40,創(chuàng)建dir
9、57 AB 36 00,關(guān)閉文件,不允許自動(dòng)更新大?。╠atasheet上這么說的)
然后我拔下U盤查到電腦上發(fā)現(xiàn)容量上少了一個(gè)扇區(qū)的大小(4KB),但是并沒有看到新建的文件夾
之后我嘗試了根目錄新建一個(gè)文件并寫入點(diǎn)數(shù)據(jù),也是同樣,容量小了一個(gè)扇區(qū),別的什么都沒發(fā)生
然后我看了下官方的驅(qū)動(dòng)代碼,里面在我的7 8步驟之間調(diào)用了CH376WriteVar32,這個(gè)函數(shù)內(nèi)部發(fā)送了一個(gè)datasheet上沒有提及的代碼為0D的指令,貌似是寫入什么寄存器,我按照驅(qū)動(dòng)上的要求也加了這么一步:57 AB 0D 64 00 00 00 00,結(jié)果還是沒有用
誰(shuí)知道哪里出問題了呢?
PS:希望高手解答下哈,別問我我在說什么了,謝謝了~~~~~