串口通信,就是我們常說(shuō)的串口通訊,是一種短距離、點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)傳輸方式。它基于串行通信協(xié)議,通過(guò)串口線連接設(shè)備進(jìn)行數(shù)據(jù)交互。串口在很多硬件系統(tǒng)中廣泛使用,是工控機(jī)、單片機(jī)、外設(shè)設(shè)備之間信息交換的重要接口。
那串口是怎么工作的呢?我們舉個(gè)形象的例子。假設(shè)A和B是兩臺(tái)設(shè)備,它們通過(guò)串口線相連。現(xiàn)在A要向B發(fā)送數(shù)據(jù)“12345”,下面就看看串口是怎么一步步處理和傳輸這組數(shù)據(jù)的。
第一步是“整體打包”。A會(huì)把要傳的數(shù)據(jù)“12345”作為一個(gè)整體打包起來(lái),加上一些必要的控制信息,像郵寄一個(gè)包裹那樣。這里的控制信息類似我們填好的快遞單,記載了重要參數(shù)–發(fā)送設(shè)備地址、接收設(shè)備地址、數(shù)據(jù)長(zhǎng)度等等。
第二步是“字符分割”。A會(huì)把剛才打包的整體數(shù)據(jù)分割成一個(gè)個(gè)字符,按照串口協(xié)議規(guī)則,把每8個(gè)bit位作為一個(gè)字符。比如“12345”會(huì)被分割為多個(gè)8bit序列。這個(gè)過(guò)程就像把一個(gè)大箱子里的東西取出來(lái),平整的擺放。
第三步是“串行發(fā)送”。串口只有一根發(fā)送數(shù)據(jù)線,所以不能多個(gè)bit并行傳輸。A會(huì)按照事先規(guī)定好的波特率,從第一個(gè)bit開(kāi)始,按順序串行發(fā)送分割好的字符。就像飯店服務(wù)員端菜一樣,只有一手,所以一次只能端一個(gè)盤(pán)子。
第四步是“串行接收”。相對(duì)應(yīng)的,B這邊也是采用單線串行的方式,按照規(guī)定波特率,時(shí)鐘線同步,一位一位的接收A發(fā)送來(lái)的字符。依次把從線上傳來(lái)的字符填充到自己的緩沖區(qū),就像服務(wù)員端上一個(gè)又一個(gè)盤(pán)子。
第五步是“重新裝箱”。B這邊會(huì)對(duì)接收到的所有字符進(jìn)行校驗(yàn)、解析,把相關(guān)的控制字符及數(shù)據(jù)整理到一起,還原成A端發(fā)送時(shí)的完整數(shù)據(jù)包。這個(gè)過(guò)程就像快遞員收到寄來(lái)的包裹,會(huì)核對(duì)單號(hào)、數(shù)物品,然后打包存放。
?
至此整個(gè)串口發(fā)送接收的基本過(guò)程就完成了。每一次串口通信,這幾個(gè)步驟都會(huì)依次執(zhí)行,最終實(shí)現(xiàn)設(shè)備之間點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)傳輸。理解這一原理,對(duì)我們調(diào)試和應(yīng)用串口通信就更加得心應(yīng)手了。
審核編輯:湯梓紅
-
單片機(jī)
+關(guān)注
關(guān)注
6042文章
44617瀏覽量
637475 -
接口
+關(guān)注
關(guān)注
33文章
8687瀏覽量
151670 -
串口通信
+關(guān)注
關(guān)注
34文章
1627瀏覽量
55652
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論