什麼是串列埠通訊啊,什麼是串列埠通訊?

時間 2021-09-06 02:08:32

1樓:

串列埠是計算機上一種非常通用裝置通訊的協議(不要與通用序列匯流排universal serial bus或者usb混淆)。大多數計算機包含兩個基於rs232的串列埠。串列埠同時也是儀器儀表裝置通用的通訊協議;很多gpib相容的裝置也帶有rs-232口。

同時,串列埠通訊協議也可以用於獲取遠端採集裝置的資料。

串列埠通訊的概念非常簡單,串列埠按位(bit)傳送和接收位元組。儘管比按位元組(byte)的並行通訊慢,但是串列埠可以在使用一根線傳送資料的同時用另一根線接收資料。它很簡單並且能夠實現遠距離通訊。

比如ieee488定義並行通行狀態時,規定裝置線總常不得超過20米,並且任意兩個裝置間的長度不得超過2米;而對於串列埠而言,長度可達1200米。

典型地,串列埠用於ascii碼字元的傳輸。通訊使用3根線完成:(1)地線,(2)傳送,(3)接收。

由於串列埠通訊是非同步的,埠能夠在一根線上傳送資料同時在另一根線上接收資料。其他線用於握手,但是不是必須的。串列埠通訊最重要的引數是波特率、資料位、停止位和奇偶校驗。

對於兩個進行通行的埠,這些引數必須匹配:

a,波特率:這是一個衡量通訊速度的引數。它表示每秒鐘傳送的bit的個數。

例如300波特表示每秒鐘傳送300個bit。當我們提到時鐘週期時,我們就是指波特率例如如果協議需要4800波特率,那麼時鐘是4800hz。這意味著串列埠通訊在資料線上的取樣率為4800hz。

通常**線的波特率為14400,28800和36600。波特率可以遠遠大於這些值,但是波特率和距離成反比。高波特率常常用於放置的很近的儀器間的通訊,典型的例子就是gpib裝置的通訊。

b,資料位:這是衡量通訊中實際資料位的引數。當計算機傳送一個資訊包,實際的資料不會是8位的,標準的值是5、7和8位。

如何設定取決於你想傳送的資訊。比如,標準的ascii碼是0~127(7位)。擴充套件的ascii碼是0~255(8位)。

如果資料使用簡單的文字(標準 ascii碼),那麼每個資料包使用7位資料。每個包是指一個位元組,包括開始/停止位,資料位和奇偶校驗位。由於實際資料位取決於通訊協議的選取,術語“包”指任何通訊的情況。

c,停止位:用於表示單個包的最後一位。典型的值為1,1.

5和2位。由於資料是在傳輸線上定時的,並且每一個裝置有其自己的時鐘,很可能在通訊中兩臺裝置間出現了小小的不同步。因此停止位不僅僅是表示傳輸的結束,並且提供計算機校正時鐘同步的機會。

適用於停止位的位數越多,不同時鐘同步的容忍程度越大,但是資料傳輸率同時也越慢。

d,奇偶校驗位:在串列埠通訊中一種簡單的檢錯方式。有四種檢錯方式:

偶、奇、高和低。當然沒有校驗位也是可以的。對於偶和奇校驗的情況,串列埠會設定校驗位(資料位後面的一位),用一個值確保傳輸的資料有偶個或者奇個邏輯高位。

例如,如果資料是011,那麼對於偶校驗,校驗位為0,保證邏輯高的位數是偶數個。如果是奇校驗,校驗位位1,這樣就有3個邏輯高位。高位和低位不真正的檢查資料,簡單置位邏輯高或者邏輯低校驗。

這樣使得接收裝置能夠知道一個位的狀態,有機會判斷是否有噪聲干擾了通訊或者是否傳輸和接收資料是否不同步。

2樓:諫玉芬巨集鵑

串列埠通訊是指兩個有串列埠通訊協議的裝置間以序列的方式互相傳輸資料。一般指的是rs232口。

串列埠通訊(serial

communications)的概念非常簡單,串列埠按位(bit)傳送和接收位元組。儘管比按位元組(byte)的並行通訊慢,但是串列埠可以在使用一根線傳送資料的同時用另一根線接收資料。它很簡單並且能夠實現遠距離通訊。

比如ieee488定義並行通行狀態時,規定裝置線總長不得超過20米,並且任意兩個裝置間的長度不得超過2米;而對於串列埠而言,長度可達1200米。典型地,串列埠用於ascii碼字元的傳輸。通訊使用3根線完成,分別是地線、傳送、接收。

由於串列埠通訊是非同步的,埠能夠在一根線上傳送資料同時在另一根線上接收資料。其他線用於握手,但不是必須的。串列埠通訊最重要的引數是波特率、資料位、停止位和奇偶校驗。

對於兩個進行通訊的埠,這些引數必須匹配。

什麼是串列埠通訊?

3樓:匿名使用者

序列接copy

口是一種可以將接受來自baicpu的並行資料字元轉換為du連續的串zhi行資料流傳送出dao去,同時可將接受的序列資料流轉換為並行的資料字元供給cpu的器件。

一般完成這種功能的電路,我們稱為序列介面電路。

串列埠按位(bit)傳送和接收位元組。儘管比按位元組(byte)的並行通訊慢,但是串列埠可以在使用一根線傳送資料的同時用另一根線接收資料。它很簡單並且能夠實現遠距離通訊。

4樓:匿名使用者

串列埠通訊是指

bai兩個有串列埠通訊協議的du裝置間以序列的方zhi式互相傳輸dao資料。一般指的是版rs232口。

串列埠通訊(serial communications)的權概念非常簡單,串列埠按位(bit)傳送和接收位元組。儘管比按位元組(byte)的並行通訊慢,但是串列埠可以在使用一根線傳送資料的同時用另一根線接收資料。它很簡單並且能夠實現遠距離通訊。

比如ieee488定義並行通行狀態時,規定裝置線總長不得超過20米,並且任意兩個裝置間的長度不得超過2米;而對於串列埠而言,長度可達1200米。典型地,串列埠用於ascii碼字元的傳輸。通訊使用3根線完成,分別是地線、傳送、接收。

由於串列埠通訊是非同步的,埠能夠在一根線上傳送資料同時在另一根線上接收資料。其他線用於握手,但不是必須的。串列埠通訊最重要的引數是波特率、資料位、停止位和奇偶校驗。

對於兩個進行通訊的埠,這些引數必須匹配。

5樓:匿名使用者

用以裝置間進行bai序列通訊du

的資料線稱串zhi口線。

1)用來連線daosata裝置與主機板sata介面連線的內線,又容稱sata資料線。

sata是serial ata的縮寫。

2)用來進行外設與rs232口進行序列通訊用的資料線。

AVR串列埠通訊問題,使用的晶片是mega88pa,求大神指點,為何我收不到資料?程式很常見如下

我這邊用這個mega88pa也有問題,接收可以正常接收並且值是對的。傳送的就是不行,傳送出去的值變了,傳送函式和你這個是一樣的。stc微控制器串列埠通訊問題,一直無法收到正確資料 檢查微控制器的波特率是否異常。 你的串列埠用的哪個管腳?p3m0 0x20 我一直都配置為 p3m0 0x00 你還可以...

51串列埠通訊程式求大神

做而論道 第一 應該先設定方式,之後再 ren 1。其原因不難理解。第二 為什麼我傳送10,微控制器傳送給我的是 你好1 而不是 你好10 傳送20,只能接受到2.每當微控制器收到一位元組,你就關閉了串列埠中斷,而進行傳送 你好1 1 後面的 0,因為你關閉中斷,耽誤了接收,遺失了。收一次x,就傳送...

Linux c串列埠通訊nread 0,求分析

經過驗證,串列埠應該沒有資料讀上來,所以導致讀到的資料的數量是0,列印出hello是因為buff本身初始化就是hello,所以顯示是hello include include include include include include include int main printf fd d n...