Linux串口編程詳解

Linux串口編程詳解

ID:39465487

大?。?85.50 KB

頁數(shù):25頁

時間:2019-07-04

Linux串口編程詳解_第1頁
Linux串口編程詳解_第2頁
Linux串口編程詳解_第3頁
Linux串口編程詳解_第4頁
Linux串口編程詳解_第5頁
資源描述:

《Linux串口編程詳解》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。

1、Linux串口編程詳解串口本身,標準和硬件??串口是計算機上的串行通訊的物理接口。計算機歷史上,串口曾經(jīng)被廣泛用于連接計算機和終端設備和各種外部設備。雖然以太網(wǎng)接口和USB接口也是以一個串行流進行數(shù)據(jù)傳送的,但是串口連接通常特指那些與RS-232標準兼容的硬件或者調(diào)制解調(diào)器的接口。雖然現(xiàn)在在很多個人計算機上,原來用以連接外部設備的串口已經(jīng)廣泛的被USB和Firewire替代;而原來用以連接網(wǎng)絡的串口則被以太網(wǎng)替代,還有用以連接終端的串口設備則已經(jīng)被MDA或者VGA取而代之。但是,一方面因為串口本

2、身造價便宜技術成熟,另一方面因為串口的控制臺功能RS-232標準高度標準化并且非常普及,所以直到現(xiàn)在它仍然被廣泛應用到各種設備上。某些計算機使用一個叫做UART的集成電路來作為串口設備。這個集成電路可以進行字符和異步串行通訊序列之間的轉(zhuǎn)換,并且可以自動地處理數(shù)據(jù)的時序。而某些低端設備則會讓CPU直接通過輸出針來傳送數(shù)據(jù),這種技術叫做bit-banging。因為“串口”,RS-232和UARTs基本上總是在同一個語境中出現(xiàn),所以這些名詞通常會被搞混。下面逐一解釋以下一些重要的名詞和術語?!裁词谴?/p>

3、行通信??計算機可以每次傳送一個或者多個位(bit)的數(shù)據(jù)?!按小敝傅氖矫看沃粋鬏斠晃?1bit)數(shù)據(jù)。當需要通過串行通訊傳輸一個字(word)的數(shù)據(jù)時,只能以每次一位的方式接收或者發(fā)送。每個位可能是on(1)或者off(0)。很多技術術語中經(jīng)常用mark表示on,而space表示off。串行數(shù)據(jù)的速度通常用每秒傳輸?shù)淖止?jié)數(shù)bits-per-second(bps)或者波特率(baud)表示。這個值表示的是每秒鐘被送出的0和1的個數(shù)。很久很久以前,300bps就是很快的速度了,而現(xiàn)在的電腦可以處

4、理高達430,800的RS-232速率。表示波特率的單位還有kpbs和Mbps,1kps=1000bps而1Mbps=1000kbps。一般有人提到串行設備的時候,它通常說可能是某種數(shù)據(jù)通訊設備-DCE(DataCommunicationsEquipment)或者數(shù)據(jù)終端設備-DTE(DataTerminalEquipment)。它們之間的區(qū)別非常簡單,每個信號對,比如傳送和接收,它們倆正好是相反的。如果需要將兩個DTE或者DCE設備連接起來的話,需要適配器或者交叉線纜將信號對交換?!裁词荝S

5、-232??RS-232是EIA(ElectronicIndustriesAssociation)定義的串行通信的電器接口。RS-232事實上有三種(A,B和C),它們分別采用不同的電壓來表示on和off。最被廣泛使用的是RS-232C,它將mark(on)比特的電壓定義為-3V到-12V之間,而將space(off)的電壓定義到+3V到+12V之間。雖然RS-232C標準說信號最遠被傳輸8m,但事實上你可以使用它傳輸更長的距離,直到信號波特率已經(jīng)小到不行了為止。RS-232的連結線中除去用來傳

6、入傳出數(shù)據(jù)的電線,還有一些用來提供時序,狀態(tài)和握手的電線:RS-232針腳定義DB-25針腳描述針腳描述針腳描述針腳描述針腳描述1EarthGround6DSR-DataSetReady11Unassigned16SecondaryRXD21SignalQualityDetect2TXD-TransmittedData7GND-LogicGround12SecondaryDCD17ReceiverClock22RingDetect3RXD-ReceivedData8DCD-DataCarrier

7、Detecter13SecondaryCTS18Unassigned23DataRateSelect4RTS-RequestToSend9Reserved14SecondaryTXD19SecondaryRTS24TransmitClock5CTS-ClearToSend10Reserved15TransmitClock20DTR-DataTerminalReady25UnassignedDB-9針腳名稱全名方向(主機外設)3TDTransmitData->2RDReceiveData<-7RT

8、SRequestToSend->8CTSClearToSend<-6DSRDataSetReady<-4DTRDataTerminalReady->1CDDataCarrierDetect<-9RIRingIndicator<-5-SignalGround?另外兩個比較常見的串行接口的標準式RS-422和RS-574。RS-422使用更低的電壓和差分信號,這樣可以將傳輸距離擴張到300m。而RS-574定義了通常可以見到的用在電腦上的9針連接器和電壓?!盘柖x??RS-232標準定義了18個不

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。