CH32V307 USBHS 發(fā)送數(shù)據(jù)異常

大家好,我最近發(fā)現(xiàn)CH32V307 USB中斷的一個(gè)問題:當(dāng)USBHS_IRQHandler 與?USART2_IRQHandler中斷都使能后,USBHS_IRQHandler中斷使用官方例程的代碼,USART2_IRQHandler中斷里面有我應(yīng)用的邏輯,跟USB沒有關(guān)系,然后我頻繁發(fā)送UART數(shù)據(jù)時(shí),即頻繁進(jìn)入USART2_IRQHandler中斷,可以當(dāng)成周期50ms發(fā)送10個(gè)字節(jié)的UART報(bào)文,這10個(gè)字節(jié)基本沒有時(shí)間間隔,然后電腦一直讀取USB的數(shù)據(jù)(此數(shù)據(jù)不是UART數(shù)據(jù),跟UART沒有關(guān)系),USB數(shù)據(jù)量挺大的,發(fā)現(xiàn)運(yùn)行1~2分鐘后,電腦上位機(jī)沒有收到應(yīng)用報(bào)文,用USB抓包分析工具分析,發(fā)現(xiàn)電腦有一直發(fā)送IN 報(bào)文請求,CH32V307沒有應(yīng)答數(shù)據(jù),即一直是NAK應(yīng)答,發(fā)現(xiàn)USBHS_IRQHandler IN該端點(diǎn)的中斷不再進(jìn)入,即使程序調(diào)用USBHS_Endp_DataUp 數(shù)據(jù)進(jìn)行上傳,也沒有響應(yīng)。我猜想問題出現(xiàn)在芯片的USB中斷被UART中斷頻繁打斷所致的,但我不知道具體原因,當(dāng)UART停止發(fā)送數(shù)據(jù),即USART2_IRQHandler中斷不進(jìn)入,電腦一直讀取USB大量數(shù)據(jù)都正常,運(yùn)行了一晚上沒有異常。為什么單獨(dú)USBHS_IRQHandler中斷可以正常運(yùn)行,加了一個(gè)USART2_IRQHandler就異常了,是芯片哪里還需要配置嗎?比如這顆芯片的硬件堆棧是跟main的堆棧公用嗎?有沒有大佬遇到這個(gè)相似的問題。


您好,可以檢查一下中斷函數(shù)的優(yōu)先級(jí)配置以及串口中斷函數(shù)的執(zhí)行時(shí)間,串口中斷函數(shù)注意要加中斷聲明。此外可以打印看一下USBHS_Endp_DataUp函數(shù)的返回值是0還是1.若方便可將代碼發(fā)至我的郵箱(lzs@wch.cn)具體看一下,后續(xù)問題的溝通也可以通過郵箱進(jìn)行溝通。


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

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