CH32V307的高速USB上行偶爾丟包

這邊從基于官方例子工程,進(jìn)行了一些調(diào)整后,做了個(gè)項(xiàng)目,PC和MCU用端點(diǎn)1互相反復(fù)發(fā)包.然后出現(xiàn)了一個(gè)問(wèn)題.

有時(shí)候MCU發(fā)送一個(gè)包,發(fā)送完后,產(chǎn)生了中斷 內(nèi)部處理分支為:"USBHS_TRANSFER_FLAG"->端點(diǎn)1->"PID_IN"

也就是發(fā)送成功的信號(hào),而實(shí)際上PC端根本沒(méi)收到這個(gè)包.

圖片.png

不知道是不是我對(duì)這個(gè)中斷流程分支的含義理解有誤?


出現(xiàn)這個(gè)現(xiàn)象的概率為800分之1.每發(fā)送幾百個(gè)包才出現(xiàn)一次,極難復(fù)現(xiàn),非常難調(diào)試


有沒(méi)有可能是傳輸過(guò)程中有什么錯(cuò)誤?能否提供一個(gè)捕捉并處理傳輸錯(cuò)誤的例子?


在發(fā)現(xiàn)丟包瞬間把mcu內(nèi)程序掛起,用USB抓包工具Bus Hound查看了下通信數(shù)據(jù),發(fā)現(xiàn)最后一個(gè)數(shù)據(jù)包確實(shí)沒(méi)到達(dá)PC,而MCU內(nèi)卻收到了發(fā)送成功的中斷. 問(wèn)題多半還是在單片機(jī)這頭


您好,可以將實(shí)現(xiàn)的設(shè)備類(lèi)型,丟包前后數(shù)據(jù)傳輸過(guò)程以及端點(diǎn)1的狀態(tài)詳盡描述一下,郵箱發(fā)給我:zl@wch.cn


lz 可以分享一下你的源碼嗎

多謝~~



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

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