[求助]CH374枚舉HUB

[font=Arial][size=3]hcn 你好。 已經(jīng)將你發(fā)來(lái)的工程編譯并做實(shí)驗(yàn),但是出來(lái)的數(shù)據(jù)還是一樣的錯(cuò)誤。 我另外換了個(gè)GL850A來(lái)枚舉,結(jié)果還是跟我原來(lái)程序讀出來(lái)的一樣。都是固定那幾個(gè)字節(jié)的錯(cuò)誤。 另外枚舉鼠標(biāo)仍然是正確的。請(qǐng)問(wèn)這些例程之前實(shí)驗(yàn)時(shí)枚舉的HUB都是什么型號(hào)的呢?我試了一下別的HUB,芯片是81181D,讀出結(jié)果是正確的。 謝謝! [/size][/font]


你把你的HUB接到計(jì)算機(jī)上面去,在設(shè)備管理器里面把EHCI這個(gè)主機(jī)控制器關(guān)閉掉,然后在計(jì)算機(jī)上面插入HUB,使用BUSHOUND軟件來(lái)抓取下數(shù)據(jù),和你枚舉的數(shù)據(jù)是否一樣?


[font=Arial][size=3] 剛剛按你說(shuō)的做了一次,插上HUB后停用了HUB的控制器,然后拔插HUB,BUSHOUND 沒(méi)有反應(yīng),需要啟用這個(gè)WINDOWS內(nèi)我這個(gè)HUB所連接的控制器才會(huì)有信號(hào)。 另外,我試過(guò)手頭上有的USB2.0的設(shè)備,用CH374抓出來(lái)的數(shù)據(jù)都是有這個(gè)錯(cuò)誤,起碼第2、3個(gè)字節(jié),也就是協(xié)議號(hào)(應(yīng)該為0x00,0x02)都錯(cuò)了。而1.1,1.0的設(shè)備目前都是可以正常運(yùn)行的。 還有,對(duì)設(shè)備的供電是否需注意些什么?我看不少板子上都給VCC加了個(gè) 2 歐的電阻,然后又對(duì)地加了100UF的電容,是要是設(shè)備的上電滯后么?請(qǐng)問(wèn)是為何? 謝謝! [/size][/font]


不是要你把USB都禁止掉,是需要你把USB2.0的控制器給禁止掉,來(lái)判斷下你的設(shè)備是否有問(wèn)題。


[font=Arial][size=3]你好。 手頭上的HUB都是可以正常工作的,而且已經(jīng)試了好幾個(gè)不同的USB2.0設(shè)備了,用CH374抓描述符都有問(wèn)題。另外,手頭有一塊STM32的板子(支持 2.0 協(xié)議),把其當(dāng)做設(shè)備來(lái)枚舉,數(shù)據(jù)也是錯(cuò)誤的。請(qǐng)問(wèn),是否CH374對(duì)2.0的支持有問(wèn)題。PDF中所說(shuō)的兼容USB2.0是怎么實(shí)現(xiàn)的呢? 或者究竟是我哪里做錯(cuò)了呢? 謝謝! [/size][/font]


[font=Arial][size=3]請(qǐng)各位技術(shù)支持幫幫忙,老大讓我換芯片,我不想換,我堅(jiān)信CH374還是可以做好這個(gè)項(xiàng)目的。 網(wǎng)上雖然可以查到不少人說(shuō)完成什么什么項(xiàng)目,但都沒(méi)有明說(shuō)是2.0協(xié)議的,我還是想試試,請(qǐng)各位幫幫忙。謝謝了! [/size][/font]


如果你調(diào)試不出來(lái)的話,那么可以把硬件快遞到我司我們技術(shù)人員可以幫您調(diào)試。


[font=Arial][size=3]現(xiàn)在有新的問(wèn)題,我通過(guò)374向HUB獲取描述符,只要要求的字節(jié)數(shù)少于15個(gè),返回的數(shù)據(jù)就是正確的。 例如,我讓374發(fā)送命令:0x80, 0x06, 0x00, 0x01, 0x00, 0x00, 0x0E, 0x00 就可以返回14個(gè)正確的字節(jié) 0x12 0x01 0x00 0x02 0x09 0x00 0x00 0x40 0xE3 0x05 0x08 0x06 0x01 0x09 若要求字節(jié)數(shù)超過(guò)15個(gè),則返回的數(shù)據(jù)就會(huì)出錯(cuò)。 以下是要求返回15個(gè)數(shù)據(jù)的: 0xB4 0x01 0x02 0x02 0x0D 0x04 0x06 0x44 0xAB 0x15 0x08 0x86 0x41 0x09 0x28

弱弱的問(wèn)一句:如果麻煩貴公司調(diào)試,大概時(shí)間要多久???快5.1了。。。 [/size][/font]


你把這個(gè)函數(shù)這樣修改下: INT8 HostCtrlTransfer374( PUINT8 ReqBuf, PUINT8 DatBuf, PUINT8 RetLen ) // 執(zhí)行控制傳輸,ReqBuf指向8字節(jié)請(qǐng)求碼,DatBuf為收發(fā)緩沖區(qū) // 如果需要接收和發(fā)送數(shù)據(jù),那么DatBuf需指向有效緩沖區(qū)用于存放后續(xù)數(shù)據(jù),實(shí)際成功收發(fā)的總長(zhǎng)度保存在ReqLen指向的字節(jié)變量中 { UINT8 s, len, count, total; BOOL tog; u8 data_buf[8]; Write374Block( RAM_HOST_TRAN, 8, ReqBuf ); Read374Block( RAM_HOST_TRAN, 8, data_buf ); 看下你發(fā)送15個(gè)字節(jié)的時(shí)候,寫(xiě)進(jìn)緩沖區(qū)的數(shù)據(jù)是多少?好像你的硬件上面哪邊還是有點(diǎn)問(wèn)題。 如果快遞過(guò)來(lái)的話,盡量在51前給你解決這個(gè)問(wèn)題,但是取決于快遞公司的快慢。


[font=Arial][size=3]你好,謝謝回復(fù)。 是這樣的,剛我試過(guò)了,讀回要374發(fā)送的數(shù)據(jù)為: 0x80 0x06 0x00 0x01 0x00 0x00 0x0E 0x00 或者: 0x80 0x06 0x00 0x01 0x00 0x00 0x0F 0x00 都是發(fā)送正常的。 好吧,那我還是發(fā)過(guò)去把。郵件聯(lián)系吧,謝謝! [/size][/font]


剛看了你發(fā)的原理圖,在你的原理圖上面,RAM和CH374會(huì)出現(xiàn)總線干擾的,建議你先把RAM去掉之后,直接使用單片機(jī)內(nèi)部RAM進(jìn)行枚舉,看下會(huì)不會(huì)有問(wèn)題。


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频