找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2809|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

虛擬串口調(diào)試中遇到的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:105323 發(fā)表于 2016-2-21 15:45 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
     使用STM32F103X的USB實(shí)現(xiàn)虛擬串口,在調(diào)試過程中,發(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í),驅(qū)動(dòng)認(rèn)為后續(xù)還有數(shù)據(jù),所以只是將這些數(shù)據(jù)存入緩沖區(qū)中,并未發(fā)送,所以對(duì)用戶來說,就感覺到數(shù)據(jù)沒有傳輸下去,一般這種情況下的處理方法是數(shù)據(jù)發(fā)送完畢后,發(fā)送一個(gè)空包結(jié)束發(fā)送。​

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表