CH376 主機模式(采用串口通信方式),操作CH341設(shè)備(usb轉(zhuǎn)串口)獲取設(shè)備描述符和配置描述符返回0xFA問題

您好,我這邊想要通過使用CH376 USB HOST接口做主機模擬電腦枚舉CH340e USB DEVICE設(shè)備從機,A設(shè)備與B設(shè)備的兩個主控MCU各自通過串口與CH376和CH340進行通訊 ,實現(xiàn)A設(shè)備和B設(shè)備之間使用USB數(shù)據(jù)線相連后,可以相互通訊和傳輸數(shù)據(jù),系統(tǒng)基本結(jié)構(gòu)如下圖所示。

poYBAGK9soCAdcyxAAAkcLljAao947.png

目前CH376Host初始化成功,可以使用串口發(fā)送命令和數(shù)據(jù)給CH376,并且回復(fù)正常,也能檢測到中斷引腳電平變化,顯示有設(shè)備連接,并且能夠復(fù)位檢測USB速度,回復(fù)正常,在獲取設(shè)備描述符和配置描述符的時候,能夠獲取到設(shè)備和配置描述符長度,分別是18和39,但是獲取的描述符不正確,還包含0xFA,請問怎么解決呢?請求社區(qū)大佬幫忙解答一下,十分感謝!

下面是串口助手打印的信息,還有獲取設(shè)備描述符和配置描述符部分的代碼:

image.png

image.png

image.png

image.png

image.png

這個問題有兩個可能一是你主機下發(fā)的數(shù)據(jù)有問題;二你讀取的指針可能有問題,設(shè)備直連電腦抓包看下描述符,或者留個郵箱我發(fā)個示例代碼給你


重新設(shè)置地址后再獲取一次設(shè)備描述符

image.png

image.png


感謝大佬的回復(fù)!上述獲取設(shè)備描述符和配置描述符的問題已經(jīng)解決了,是串口讀取接收內(nèi)容函數(shù)內(nèi)的延時時間設(shè)置太長的緣故。但是現(xiàn)在又遇到了一個新的問題,希望大佬能再幫忙看一下,十分感謝!

問題如下:

向CH376主機模式(采用串口通信方式)寫入數(shù)據(jù)塊一次只能寫入32個字節(jié),無法一次寫入64個字節(jié),會出現(xiàn)丟包的情況,但是64個字節(jié)的數(shù)據(jù)兩次32個字節(jié)發(fā)送就可以,請問是什么原因呢?請求社區(qū)大佬幫忙回復(fù)解答一下,十分感謝!

寫入數(shù)據(jù)塊相關(guān)代碼如下圖所示:

image.png

這個是我的郵箱個人信息保護,已隱藏,謝謝


你是怎么看64字節(jié)寫入失敗的呢,給340發(fā)送數(shù)據(jù)嗎


是的,給340發(fā)送32個字節(jié)的數(shù)據(jù)包就可以完整接受到,但是發(fā)送64個字節(jié)的數(shù)據(jù)包后32個字節(jié)就會出現(xiàn)丟包的情況

發(fā)送和接受的相關(guān)代碼如下:

image.png

我這邊需要每發(fā)送1024個字節(jié)的數(shù)據(jù)包(目前需要使用for循環(huán)連續(xù)多次發(fā)送32個字節(jié))后就讀取一次接受到的數(shù)據(jù),需判斷是否接受到0x06來判斷是否繼續(xù)發(fā)送下一包數(shù)據(jù),請問每次讀取接受都需要發(fā)送命令給CH376設(shè)置接受同步嗎?我這邊需要連續(xù)發(fā)送1024字節(jié)的數(shù)據(jù)包間隔不能超過4秒鐘,否則就需要重頭開始發(fā)送,但是我這邊實際運行后發(fā)現(xiàn)在讀取發(fā)送第二包數(shù)據(jù)后返回的數(shù)據(jù)時就超時了,請問有什么解決方法嗎?謝謝大佬!


正準備做類似功能的項目,可否發(fā)一份例子給我?? ?郵箱:個人信息保護,已隱藏


您好 搞定了 嗎? ?我也有一樣的需求? ?但是不知道好不好搞? 不敢輕易嘗試



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

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