請(qǐng)問(wèn)CH552能不能處理兩個(gè)連續(xù)的USB請(qǐng)求?

我在嘗試聲卡和鍵盤(pán)復(fù)合設(shè)備時(shí)遇到了這個(gè)問(wèn)題。由于同步傳輸后沒(méi)有ACK,直接進(jìn)行下一個(gè)中斷傳輸。這時(shí)不管端點(diǎn)有沒(méi)有發(fā)送,中斷傳輸就只會(huì)NAK了。目前湊合的辦法是模擬兩個(gè)鍵盤(pán)。第一個(gè)鍵盤(pán)不處理,永遠(yuǎn)NAK,為第二個(gè)鍵盤(pán)爭(zhēng)取處理時(shí)間。


這個(gè)問(wèn)題也可以由兩個(gè)鍵盤(pán)描述符復(fù)現(xiàn)。該代碼別處不會(huì)處理UEPn_T_LEN和UEPn_CTRL。所以此處設(shè)了發(fā)送就會(huì)一直發(fā)送。

Screen Shot 2024-05-01 at 9.10.41 AM.png

如果只讓EP3發(fā)送。EP2 NAK,EP3 ACK,很正常。

Screen Shot 2024-05-01 at 9.13.50 AM.png

但是如果一起發(fā)送,就只有EP2能發(fā)送,EP3只會(huì)NAK了。


根據(jù)之前的調(diào)試結(jié)果。這種情況下中斷會(huì)在EP3傳輸時(shí)發(fā)生。我猜測(cè)USB系統(tǒng)在中斷未完成時(shí)不會(huì)響應(yīng)下一個(gè)請(qǐng)求。但是這對(duì)于主機(jī)不重試的請(qǐng)求就會(huì)漏掉。我試圖把UIF_TRANSFER移動(dòng)到中斷前面一些的位置,似乎不僅不能解決問(wèn)題,連枚舉都出錯(cuò)了。


請(qǐng)問(wèn)有沒(méi)有辦法讓CH552處理兩個(gè)連續(xù)的USB請(qǐng)求?

進(jìn)一步測(cè)試發(fā)現(xiàn)把bUC_INT_BUSY設(shè)為0也可以。但是所有的例程里bUC_INT_BUSY都是1。有什么副作用尚不清楚,但是能工作。


在一臺(tái)win11的電腦上測(cè)試,bUC_INT_BUSY設(shè)為0后枚舉會(huì)報(bào)錯(cuò)。


您好,連續(xù)處理兩個(gè)請(qǐng)求具體是指什么?可以描述下具體的應(yīng)用需求,以及提供描述相關(guān)的程序參考?

下面提供一份自己實(shí)現(xiàn)的audio設(shè)備的實(shí)現(xiàn),給您參考下:

icon_rar.gifEXAM-audio.zip



感謝分享,只是我這里沒(méi)有Keil編譯器,所以只能測(cè)試HEX代碼。

我把CH554DEMO.hex用WCHISPTool燒到CH552上,win11直接報(bào)錯(cuò)?

Unknown USB Device (Configuration Descriptor Request Failed)



您好,

程序給錯(cuò)了,請(qǐng)重新下載,另外注意CH554端點(diǎn)最大包長(zhǎng)是64字節(jié)。


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

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