ch395 udp 數(shù)據(jù)接收包數(shù)據(jù)被分組和包合并問(wèn)題

1. 什么情況下ch395接收到的一包udp數(shù)據(jù)會(huì)產(chǎn)生多次接收中斷,導(dǎo)致一包數(shù)據(jù)被拆分成多組數(shù)據(jù)(比如發(fā)送方發(fā)送一個(gè)10字節(jié)的數(shù)據(jù),ch395會(huì)產(chǎn)生一個(gè)4字節(jié)中斷和一個(gè)6字節(jié)中斷)。

2. 為什么會(huì)產(chǎn)生數(shù)據(jù)長(zhǎng)度為0的接收中斷

3. 什么情況下多個(gè)udp包會(huì)被合并,可否避免??


我的工況是不希望udp包被分組,也不希望包合并該如何處理?

1、數(shù)據(jù)包可能存在粘包的情況。如果存在“分包的情況”,一是長(zhǎng)度過(guò)長(zhǎng)必定會(huì)分包(超過(guò)1514的規(guī)定),二是對(duì)端發(fā)過(guò)來(lái)就是分開(kāi)的;可能和窗口大小有關(guān)系;三是不要直接讀長(zhǎng)度,按照全局中斷-socket中斷方式-中斷處理。

2、中斷會(huì)周期性更新,因?yàn)樯蠄?bào)和更新是異步的,在上報(bào)過(guò)程中避免漏中斷所以一步過(guò)程中會(huì)少有0中斷產(chǎn)生。

3、粘包原因是中斷數(shù)據(jù)沒(méi)有及時(shí)讀走導(dǎo)致數(shù)據(jù)緩沖區(qū)數(shù)據(jù)累加,一是外部單片機(jī)處理不及時(shí),二是Ch395芯片本身處理有限,目前優(yōu)化方式是是單片機(jī)對(duì)CH395中斷更快響應(yīng)。


關(guān)于分包的情況的說(shuō)明:
1. 發(fā)給ch395的包的長(zhǎng)度固定10字節(jié)。
2. 用wireshark監(jiān)控并沒(méi)有發(fā)現(xiàn)分包。
3. 是按照“全局中斷-socket中斷方式-中斷處理”這樣處理的,這種情況下仍然有分包請(qǐng)問(wèn)怎么處理。


您好,若調(diào)試還是出現(xiàn)分包,請(qǐng)聯(lián)系18061701682,將工程發(fā)來(lái)測(cè)試。



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

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