ch375 初始化完畢,一切正常,插入U(xiǎn)SB也能中斷返回 0x14 向ch375 發(fā)送Get_DESCR 中斷返回0x2c ,超時(shí),或是設(shè)備沒有返回 請(qǐng)求幫助,謝謝
這是一個(gè)設(shè)備響應(yīng)超時(shí)錯(cuò)誤,另插入U(xiǎn)SB設(shè)備,產(chǎn)生的中斷狀態(tài)應(yīng)為:0x15 (1)檢查UD+,UD-信號(hào)線是否接反,正確次序是VCC,UD-,UD+,GND (2)USB口供電是否足,應(yīng)保證在4.7V以上 (3)可能與你的程序也有關(guān)系,可以參考CH375EVT.ZIP中..\PUB\MCS51C\MISCELL目錄下的示例
這個(gè)問題除了硬件上的以外,還還能是操作速度過快引起的,保證延時(shí)充足,一般的流程: 如下: mDelaymS( 200 ); set_usb_mode( 6 ); /* 設(shè)置USB主機(jī)模式 */ while ( wait_interrupt()!=USB_INT_CONNECT ); set_usb_mode( 7 ); /* 復(fù)位USB設(shè)備,CH375向USB信號(hào)線的D+和D-輸出低電平 */ mDelaymS( 10 ); /* 復(fù)位時(shí)間不少于1mS,建議為10mS */ set_usb_mode( 6 ); /* 結(jié)束復(fù)位 */ mDelaymS( 100 ); while ( wait_interrupt()!=USB_INT_CONNECT ); /* 等待復(fù)位之后的設(shè)備端再次連接上來 */ mDelaymS( 200 ); /* 有些USB設(shè)備要等待數(shù)百毫秒才能正常工作 */
.......進(jìn)行枚舉操作 上述延時(shí)是比較正確的,根據(jù)自己硬件時(shí)鐘進(jìn)行修改,但是延時(shí)不必太長(zhǎng),在極少數(shù)情況下可能會(huì)設(shè)備掛起.
謝謝 ,問題已解決 ,是延時(shí)的問題, 謝謝
把usb總線速度設(shè)成低速就可以了