串列埠通訊簡介

2021-10-22 14:16:46 字數 1551 閱讀 6730

簡介

串列埠是一種泛稱,uart、spi、iic、usb等介面都屬於串列埠。而嵌入式中所說的串列埠,一般是指uart口,即通用非同步收發器(universal asynchronous receiver/transmitter)。由於該介面傳輸速率低等原因,在普通的計算機中基本已經被取消,但作為一種簡單易用的介面,在嵌入式領域仍然使用較廣泛。

uart協議介紹

uart作為非同步串列埠通訊協議的一種,工作原理是將資料的位元組一位接一位地傳輸。具體協議如下:

空閒位:

uart協議規定,當匯流排處於空閒狀態時訊號線的狀態為『1』即高電平。

起始位:

先發出乙個邏輯」0」的訊號,表示傳輸字元的開始。因為空閒位一直是高電平所以開始第一次通訊時先傳送乙個明顯區別於空閒狀態的訊號,以便接收方能夠判斷資料的起始。

資料位:

起始位之後就是要傳輸的資料,資料可以是5,6,7,8,9位,構成乙個字元,一般都是8位。一般是低位在前。

奇偶校驗位:

資料位傳送完成後,要進行奇偶校驗,校驗位其實是調整個數,串列埠校驗分幾種方式:

無校驗(no parity)

奇校驗(odd parity):如果資料位中』1』的數目是偶數,則校驗位為』1』,如果』1』的數目是奇數,校驗位為』0』。

偶校驗(even parity):如果資料為中』1』的數目是偶數,則校驗位為』0』,如果為奇數,校驗位為』1』。

mark parity:校驗位始終為1。

space parity:校驗位始終為0。

停止位:

資料結束標誌,可以是1位,1.5位,2位的高電平。

波特率:

資料傳輸速率使用波特率來表示,單位bps(bits per second),常見的波特率9600bps,115200bps等等,其他標準的波特率是1200,2400,4800,19200,38400,57600等。

ttl、rs232和rs485是指不同的電平標準,三者都可以遵循uart通訊協議,但不同的電平之間不能直接連線。

ttl電平的uart通訊時,可以實現全雙工通訊,2.4~5v表示邏輯『1』,0~0.5v表示邏輯『0』,適合做短距離傳輸。

rs232電平也可以實現全雙工通訊,其用+3~+15v表示邏輯'1',-3~-15v表示邏輯'0',由於電平變大,傳輸距離要稍大於ttl電平,理論距離可達10公尺。實際傳輸距離跟使用環境,傳輸波特率等有關。

rs485電平採用差分訊號傳輸資料,可以實現半雙工通訊,邏輯'1'以兩線間的電壓差為-2~-6v表示;邏輯'0'以兩線間的電壓差為+2~+6v表示。且rs485匯流排上可以連線多個裝置。由於採用差分訊號傳輸,抗干擾能力比rs232和ttl強很多,適合做長距離傳輸,理論傳輸距離可達1000公尺,在工業裝置中應用廣泛。

串列埠通訊簡單例項

前幾天製作了乙個基於win32控制台的串列埠通訊接收端的程式。今天利用mfc製作了乙個類似超級終端的應用程式。包含了傳送端和接收端。介面如下圖 關鍵 如下 button connect響應函式,開啟串列埠,配置串列埠引數,設定事件掩碼,建立接收端執行緒。void cmfc commdlg onbut...

序列通訊簡介(SPI, IIC, UART

主機與外設或主機與主機之間通過一條 極少數 線路將資料按位順序傳輸的方式實現資料的傳輸與共享。另外與之相對的還有並行通訊,即多個資料通過多條線路同時傳輸。通俗的理解 主機與外設就像城鎮,傳輸的線路就像車道,車流量即資料流量。城市之間路途遠,車流量小,只有一條車道,城市內部因車流量大,需要多車道並行。...

超短波通訊簡介

超短波通訊簡介 超短波,又稱為公尺波,指的是波長為 1m 到 10m 的電磁波。由於超短波波長較短,故發射機與接收機天線的尺寸也比較短,這有利於裝置的整合化與小型化。此外,超短波整個波段寬度跨及 270mhz,是短波的 10 倍。超短波通訊具有優異的效能,其通訊簡單可靠 機動靈活 抗毀性較強 開發維...