使用CH376能否將手機(jī)當(dāng)成U盤來訪問? (376使用HOST模式) 我用376讀寫普通的U盤沒問題,但接上手機(jī)卻沒反應(yīng),請(qǐng)問是什么原因?難道手機(jī)里還要驅(qū)動(dòng)嗎?
只要手機(jī)接到計(jì)算機(jī)上面是一個(gè)U盤就可以訪問的。還有你所謂的沒有反應(yīng)是上面意思?
首先感謝 hcn 的回復(fù)! 具體情況如下: 手機(jī)連接到電腦可以顯示為U盤,但連接到CH376時(shí),手機(jī)沒有反應(yīng)(無任何提示),對(duì)376使用CMD_TEST_CONNECT命令后,返回值一直為00(而我接U盤則返回14H,什么都不接則返回82H,這表示接U盤正常)。 我的硬件是采用兩線的UART連接,目前對(duì)常用的U盤的讀寫都正常,唯獨(dú)手機(jī)不行。
剛剛又試了下,我的手機(jī)是中興的移動(dòng)定制機(jī),無法識(shí)別,而另一臺(tái)HTC G13則連接成功。等下再試下文件的讀寫。
對(duì)HTC手機(jī)的文件操作也正常 與中興手機(jī)連接時(shí),為什么對(duì)376使用CMD_TEST_CONNECT命令后,376返回值為0?這個(gè)0表示什么?數(shù)據(jù)手冊(cè)好像沒有00H這個(gè)中斷返回值啊
應(yīng)該是可以的。手機(jī)有些特殊一些。 1:供電 2:設(shè)置 進(jìn)行操作枚舉的時(shí)候需要較大的電流,當(dāng)然你這個(gè)還沒有操作,但是必須保證VBUS上有足夠的電壓,否則手機(jī)是無法檢測到有HOST連接的。 如果上述正常,接入手機(jī)后,用萬用表測量一下UD+上的電壓,正常的應(yīng)該為3.3V左右。如果UD+上有這個(gè)電壓,則你看一下INT引腳是否有低電平,最好用示波器看一下,是否有一個(gè)脈沖
1.供電電壓4.94v 試著將電壓提高到5.2v還是不行,UD+的電壓為3.0v,接U盤時(shí)為3.1v,加個(gè)47K上拉上升到3.2左右,手機(jī)還是不能檢測到USB連接。 2.接上U盤或手機(jī)INT管腳都是有脈沖的,而且波形基本上差不多。
感覺到主要是手機(jī)無法檢測到USB的連接。
仔細(xì)看了一下,上面講錯(cuò)了,CH376使能檢測到中興手機(jī)的連接事件的就是說發(fā)送CMD_TEST_CONNECT命令后返回值為14H,是不能初始化,使用CMD_DISK_MOUNT命令后得不到正確的返回值(為00H)。這里還有別的命令需發(fā)送嗎?
嘗試跳過CMD_TEST_CONNECT測試,但由于手機(jī)不能檢測出數(shù)據(jù)線的連接,無法設(shè)置為U盤模式,所以后續(xù)的文件訪問操作也不能進(jìn)行。
現(xiàn)在使用DISK_INIT命令也不管用,但使用CMD_AUTO_SETUP命令后,一切操作都正常了,看來《CH376 編程指南》上的初始化步驟是專門針對(duì)U盤的簡化操作了,而中興的這款手機(jī)就比較特殊一些了。 再次感謝 hcn 和 紅桃六 兩位工程師的技術(shù)支持!
這個(gè)具體情況要具體分析,比如可以循環(huán)做CMD_DISK_MOUNT直到成功。有時(shí)候必須要選擇好模式才對(duì)USB HOST的命令進(jìn)行應(yīng)答。
我試過循環(huán)做CMD_DISK_MOUNT,但是手機(jī)一直沒響應(yīng),現(xiàn)在的做法是用CMD_AUTO_SETUP命令替代CMD_TEST_CONNECT命令,中斷返回成功后再做CMD_DISK_MOUNT測試。而且CMD_AUTO_SETUP也能檢測出USB的斷開與連接事件,正好可以滿足我的需求。 感覺CH376這個(gè)芯片很不錯(cuò),對(duì)于我們這些不懂USB的來說簡直就是神器!