Linux串口編程詳解

Linux串口編程詳解

ID:39465487

大小:385.50 KB

頁數(shù):25頁

時(shí)間:2019-07-04

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

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

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

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

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

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

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

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

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

8、SRequestToSend->8CTSClearToSend<-6DSRDataSetReady<-4DTRDataTerminalReady->1CDDataCarrierDetect<-9RIRingIndicator<-5-SignalGround?另外兩個(gè)比較常見的串行接口的標(biāo)準(zhǔn)式RS-422和RS-574。RS-422使用更低的電壓和差分信號(hào),這樣可以將傳輸距離擴(kuò)張到300m。而RS-574定義了通??梢砸姷降挠迷陔娔X上的9針連接器和電壓?!盘?hào)定義??RS-232標(biāo)準(zhǔn)定義了18個(gè)不

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

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

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