關(guān)于串口流控制

? ? 最近接觸到了串口通信變成,但是對串口底層通信不是很了解叶摄,有其是對串口的流控制属韧,今晚查了一些資料,算是有了一個比較清楚的認(rèn)識蛤吓,在此處記錄一下宵喂。

? ? 要深入理解一個問題,我覺得首先應(yīng)該搞清楚他為何而來会傲。串口為何需要流控制锅棕,是為了確保數(shù)據(jù)傳輸中的安全性,這個安全性是發(fā)送接收雙方的數(shù)據(jù)處理速度不一致導(dǎo)致的淌山。接收方的數(shù)據(jù)處理速度慢于數(shù)據(jù)發(fā)送方的時候裸燎,接收方的緩沖區(qū)寫滿之后會造成數(shù)據(jù)丟失。因此需要串口流控制來協(xié)調(diào)數(shù)據(jù)收發(fā)的雙方泼疑。

? ? 從以上的分析可以看出串口流控制的主導(dǎo)方是串口數(shù)據(jù)的接收方德绿,理清楚這個問題之后,串口的流控制問題將變得非常容易。串口通信首先發(fā)送方告訴接受方我這邊準(zhǔn)備好了(發(fā)送方DTR有效脆炎,導(dǎo)致接收方DSR有效)梅猿,你那邊是啥情況,接收方檢測到自己DSR有效之后查看自身狀態(tài)看看自己能不能接受數(shù)據(jù)秒裕,如果可以的話就通知發(fā)送方我也準(zhǔn)備好了袱蚓,通知方式和發(fā)送方一樣。這一步是串口通信最先需要進(jìn)行的几蜻。

? ? 完成了上面的步驟之后喇潘,數(shù)據(jù)接收方檢查自身緩沖區(qū)當(dāng)前狀態(tài),如果可以接受數(shù)據(jù)梭稚,就通過RTS有效告訴數(shù)據(jù)發(fā)送方可以繼續(xù)發(fā)送數(shù)據(jù)了颖低,數(shù)據(jù)接受方CTS有效。數(shù)據(jù)發(fā)送方在檢查到自己CTS有效之后弧烤,就開始將自己發(fā)送緩沖區(qū)的數(shù)據(jù)發(fā)送到串口線上忱屑。當(dāng)數(shù)據(jù)接受方發(fā)現(xiàn)自己接受緩沖區(qū)快滿了就置RTS無效,進(jìn)而控制數(shù)據(jù)發(fā)送方CTS無效暇昂,停止數(shù)據(jù)發(fā)送莺戒。

? ? 基于以上分析,從任何一個終端來看急波,如果想發(fā)送數(shù)據(jù)就檢查自己的DSR和CTS是否同時有效从铲,若有效就可以發(fā)送了。如果還可以繼續(xù)接受數(shù)據(jù)澄暮,就去置自己的DTR和RTS有效名段,告訴對面繼續(xù)發(fā)送數(shù)據(jù)吧,我這邊感覺良好泣懊。

? ? 以上是通過接線實現(xiàn)的硬件流控制伸辟。軟件流控制比較簡單,其實就是在串口發(fā)送的數(shù)據(jù)里面設(shè)置了兩個標(biāo)志馍刮,這個標(biāo)志傳輸?shù)姆较蚝蛿?shù)據(jù)傳輸?shù)姆较蛳喾醋悦洌菙?shù)據(jù)接收方通知數(shù)據(jù)發(fā)送方自己是否還可以繼續(xù)接受數(shù)據(jù)。畢竟我們前面分析了串口通信的主導(dǎo)方是數(shù)據(jù)接收方渠退。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市脐彩,隨后出現(xiàn)的幾起案子碎乃,更是在濱河造成了極大的恐慌,老刑警劉巖惠奸,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件梅誓,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)梗掰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進(jìn)店門嵌言,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人及穗,你說我怎么就攤上這事摧茴。” “怎么了埂陆?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵苛白,是天一觀的道長。 經(jīng)常有香客問我焚虱,道長购裙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任鹃栽,我火速辦了婚禮躏率,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘民鼓。我一直安慰自己薇芝,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布摹察。 她就那樣靜靜地躺著恩掷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪供嚎。 梳的紋絲不亂的頭發(fā)上黄娘,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天,我揣著相機(jī)與錄音克滴,去河邊找鬼逼争。 笑死,一個胖子當(dāng)著我的面吹牛劝赔,可吹牛的內(nèi)容都是我干的誓焦。 我是一名探鬼主播,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼着帽,長吁一口氣:“原來是場噩夢啊……” “哼杂伟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起仍翰,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤赫粥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后予借,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體越平,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡频蛔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了秦叛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晦溪。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖挣跋,靈堂內(nèi)的尸體忽然破棺而出三圆,到底是詐尸還是另有隱情,我是刑警寧澤浆劲,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布嫌术,位于F島的核電站,受9級特大地震影響牌借,放射性物質(zhì)發(fā)生泄漏度气。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一膨报、第九天 我趴在偏房一處隱蔽的房頂上張望磷籍。 院中可真熱鬧,春花似錦现柠、人聲如沸院领。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽比然。三九已至,卻和暖如春周循,著一層夾襖步出監(jiān)牢的瞬間强法,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工湾笛, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留饮怯,地道東北人。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓嚎研,卻偏偏與公主長得像蓖墅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子临扮,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容