標(biāo)題: 虛擬串口調(diào)試中遇到的問(wèn)題 [打印本頁(yè)]

作者: 51黑黑黑    時(shí)間: 2016-2-21 15:45
標(biāo)題: 虛擬串口調(diào)試中遇到的問(wèn)題
     使用STM32F103X的USB實(shí)現(xiàn)虛擬串口,在調(diào)試過(guò)程中,發(fā)現(xiàn)發(fā)送的數(shù)據(jù)小于64字節(jié)或者大于64字節(jié)的時(shí)候,數(shù)據(jù)都能正常的發(fā)送,但是當(dāng)數(shù)據(jù)等于64字節(jié)時(shí)數(shù)據(jù)就發(fā)送不出去。
     這個(gè)主要是在描述符里,我們規(guī)定了一幀數(shù)據(jù)的大小是64字節(jié),所以當(dāng)待發(fā)送的數(shù)據(jù)小于64字節(jié)時(shí),系統(tǒng)會(huì)認(rèn)為數(shù)據(jù)發(fā)送完畢,這樣數(shù)據(jù)就發(fā)送出去了,
     當(dāng)數(shù)據(jù)大于64字節(jié)且不是64的整數(shù)倍時(shí),驅(qū)動(dòng)將數(shù)據(jù)幀拆分成64+64+....+x(小于64)當(dāng)?shù)搅俗詈笠粠瑫r(shí),由于該幀小于64字節(jié),驅(qū)動(dòng)認(rèn)為數(shù)據(jù)發(fā)送完畢,結(jié)束發(fā)送。
     當(dāng)數(shù)據(jù)剛好等于64的證書(shū)倍時(shí),驅(qū)動(dòng)認(rèn)為后續(xù)還有數(shù)據(jù),所以只是將這些數(shù)據(jù)存入緩沖區(qū)中,并未發(fā)送,所以對(duì)用戶來(lái)說(shuō),就感覺(jué)到數(shù)據(jù)沒(méi)有傳輸下去,一般這種情況下的處理方法是數(shù)據(jù)發(fā)送完畢后,發(fā)送一個(gè)空包結(jié)束發(fā)送。​






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1