娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

計算機串口基本理論

 

1.什么是串口?

2,什么是RS-232?

3,什么是RS-422?

4,什么是RS-485?

5,什么是握手?

 

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,什么是RS-232?

RS-232(ANSI/EIA-232標準)是IBM-PC及其兼容機上的串行連接標準??捎糜谠S多用途,比如連接鼠標、打印機或者Modem,同時也可以接工業儀器儀表。用于驅動和連線的改進,實際應用中RS-232的傳輸長度或者速度常常超過標準的值。RS-232只限于PC串口和設備間點對點的通信。RS-232串口通信最遠距離是50英尺。

 

DB-9針連接頭

-------------

/ 1 2 3 4 5 /

/ 6 7 8 9 /

-------

從計算機連出的線的截面。

RS-232針腳的功能:

 

數據:

TXD(pin 3):串口數據輸出

RXD(pin 2):串口數據輸入

 

握手:

RTS(pin 7):發送數據請求

CTS(pin 8):清除發送

DSR(pin 6):數據發送就緒

DCD(pin 1):數據載波檢測

DTR(pin 4):數據終端就緒

 

地線:

GND(pin 5):地線

 

其他

RI(pin 9):鈴聲指示

 

3,什么是RS-422?

RS-422(EIA RS-422-A Standard)是Apple的Macintosh計算機的串口連接標準。RS-422使用差分信號,RS-232使用非平衡參考地的信號。差分傳輸使用兩根線發送和接收信號,對比RS-232,它能更好的抗噪聲和有更遠的傳輸距離。在工業環境中更好的抗噪性和更遠的傳輸距離是一個很大的優點。

 

4,什么是RS-485?

RS-485(EIA-485標準)是RS-422的改進,因為它增加了設備的個數,從10個增加到32個,同時定義了在最大設備個數情況下的電氣特性,以保證足夠的信號電壓。有了多個設備的能力,你可以使用一個單個RS-422口建立設備網絡。出色抗噪和多設備能力,在工業應用中建立連向PC機的分布式設備網絡、其他數據收集控制器、HMI或者其他操作時,串行連接會選擇RS-485。RS-485是RS-422的超集,因此所有的RS-422設備可以被RS-485控制。RS-485可以用超過4000英尺的線進行串行通信。

 

DB-9 引腳連接

 

-------------

/ 1 2 3 4 5 /

/ 6 7 8 9 /

-------

 

從計算機連出的線的截面。

 

RS-485和RS-422的引腳的功能

數據:TXD+(pin 8),TXD-(pin 9),RXD+(pin 4),RXD-(pin 5)

握手:RTS+(pin 3),RTS-(pin 7),CTS+(pin 2),CTS-(pin 6)

地線:GND (pin 1)

 

5,什么是握手?

RS-232通行方式允許簡單連接三線:Tx、Rx和地線。但是對于數據傳輸,雙方必須對數據定時采用使用相同的波特率。盡管這種方法對于大多數應用已經足夠,但是對于接收方過載的情況這種使用受到限制。這時需要串口的握手功能。在這一部分,我們討論三種最常用的RS-232握手形式:軟件握手、硬件握手和Xmodem。

 

a,軟件握手:我們討論的第一種握手是軟件握手。通常用在實際數據是控制字符的情況,類似于GPIB使用命令字符串的方式。必須的線仍然是三根:Tx,Rx和地線,因為控制字符在傳輸線上和普通字符沒有區別,函數SetXModem允許用戶使能或者禁止用戶使用兩個控制字符XON和XOFF。這些字符在通信中由接收方發送,使發送方暫停。


例如:假設發送方以高波特率發送數據。在傳輸中,接收方發現由于CPU忙于其他工作,輸入buffer已經滿了。為了暫時停止傳輸,接收方發送XOFF,典型的值是十進制19,即十六進制13,直到輸入buffer空了。一旦接收方準備好接收,它發送XON,典型的值是十進制17,即十六進制11,繼續通信。輸入buffer半滿時,LabWindows發送XOFF。此外,如果XOFF傳輸被打斷,LabWindows會在buffer達到75%和90%時發送XOFF。顯然,發送方必須遵循此守則以保證傳輸繼續。

 

b,硬件握手:第二種是使用硬件線握手。和Tx和Rx線一樣,RTS/CTS和DTR/DSR一起工作,一個作為輸出,另一個作為輸入。第一組線是RTS(Request to Send)和CTS(Clear to Send)。當接收方準備好接收數據,它置高RTS線表示它準備好了,如果發送方也就緒,它置高CTS,表示它即將發送數據。另一組線是DTR(Data Terminal Ready)和DSR(Data Set Ready)。這些線主要用于Modem通信。使得串口和Modem通信他們的狀態。例如:當Modem已經準備好接收來自PC的數據,它置高DTR線,表示和電話線的連接已經建立。讀取DSR線置高,PC機開始發送數據。一個簡單的規則是DTR/DSR用于表示系統通信就緒,而RTS/CTS用于單個數據包的傳輸。

 

在LabWindows,函數SetCTSMode使能或者禁止使用硬件握手。如果CTS模式使能,LabWindows使用如下規則:

當PC發送數據:

RS-232庫必須檢測CTS線高后才能發送數據。

 

當PC接收數據:

如果端口打開,且輸入隊列有空接收數據,庫函數置高RTS和DTR。

如果輸入隊列90%滿,庫函數置低RTS,但使DTR維持高電平。

如果端口隊列近乎空了,庫函數置高RTS,但使DRT維持高電平。

如果端口關閉,庫函數置低RTS和DTR。

 

c,XModem握手:最后討論的握手叫做XModem文件傳輸協議。這個協議在Modem通信中非常通用。盡管它通常使用在Modem通信中,XModem協議能夠直接在其他遵循這個協議的設備通信中使用。在LabWindows中,實際的XModem應用對用戶隱藏了。只要PC和其他設備使用XModem協議,在文件傳輸中就使用LabWindows的XModem函數。函數是XModemConfig,XModemSend和XModemReceive。

 

XModem使用介于如下參數的協議:start_of_data、end_of_data、neg_ack、wait_delay、start_delay、max_tries、packet_size。這些參數需要通信雙方認定,標準的XModem有一個標準的定義:然而,可以通過XModemConfig函數修改,以滿足具體需要。這些參數的使用方法由接收方發送的字符neg_ack確定。這通知發送方其準備接收數據。它開始嘗試發送,有一個超時參數start_delay;當超時的嘗試超過max發出包的數目很可能增加到XON/OFF控制字符的值,從而導致通信故障。

關鍵字:ARM  串口通信  基本原理 引用地址:ARM學習筆記15——串口通信基本原理

上一篇:ARM CPU大小端
下一篇:ARM學習筆記14——C語言和匯編相互套用

推薦閱讀

uC/GUI是MICrigm公司推出的用于嵌入式系統的圖形用戶接口(graphics user interface,GUI)軟件包,由于uC/GUI完全以ANSI-C編寫,因此它與處理器無關,可以很方便地移植到不同的操作系統和嵌入式微處理器上,并可支持不同尺寸的圖形液晶顯示器。它采用層次化的設計,功能強大,移植方便,被廣泛地應用于嵌入式領域,如PDA、機頂盒以及DVD NCD播放機...
2月18日,中興通訊宣布將在即將開幕的巴塞羅那移動通信展上,發布新一代Axon手機,而這是一款支持5G網絡的新旗艦(2月25日發布)。  在這個海報中,中興只是透露即將發布的新旗艦支持5G網絡,而手機本身的細節,并沒有展示,但有消息稱,這款手機發布后,將于2019年上半年率先在歐洲和中國市場上市。  事實上,中興在5G上的積累也是比較身...
2020.1 版本hyperMILL? CAD/CAM 套件現已上市。此軟件版本為 hyperMILL? 編程人員提供更多使用便利性。編程功能得到增強,也使加工更快速、更簡單。新的 3D 和 5 軸根部殘料策略保證高效加工根部的殘料。更具潛力的是,可選模塊 hyperMILL? ADDITIVE Manufacturing 和 hyperMILL? VIRTUAL Machining 可提供與現代制造業主流方向一致的突破性技術...
半導體制造端持續滿載運轉,春節期間不例外也沒“打烊”。尤其在疫情的影響下,許多地方政府和大批企業都出臺了各種春節留崗獎勵,保證春節期間留員工、穩生產(參考集微網發布的系列【春節留崗獎勵】文章)。由于半導體晶圓廠的特殊性,機臺無特殊情況不會停轉。因此節假日期間也基本是正常運轉。國內某晶圓廠員工表示,由于近來訂單持續爆滿,這個春節期...

史海拾趣

問答坊 | AI 解惑

介紹幾個偶常去的嵌入式論壇

前幾天整理收藏夾,突然覺得自己在道上混了那么多年,也搜集了不少好的壇子所在,不敢獨占,與眾兄弟共享! 1. http://www.21 ic bbs.com/club/default.asp 正所謂隱者居于山,國內許多EEer元老級的人物就隱居于此,不少class級的帖子都源自于此.如果 ...…

查看全部問答∨

【藏書閣】80x86 匯編語言程序設計

目錄: 第1章 基礎知識 1 1.1 認識匯編語言 1 1.1.1 機器語言 1 1.1.2 匯編語言 2 1.1.3 高級語言 3 1.1.4 對匯編語言的評價 3 1.2 數據表示 4 1.2.1 數據組織 5 1.2.2 無符號數與帶符號數 6 1.2.3 字符的ASCII碼表 ...…

查看全部問答∨

峰值檢測電路

本帖最后由 paulhyde 于 2014-9-15 09:17 編輯 經典的峰值檢測電路,自己調試的??!  …

查看全部問答∨

請教:注冊表中的IClass是做什么用的?

IF BSP_NOI2C ! ;; I2C Bus Driver [HKEY_LOCAL_MACHINE\\Drivers\\BuiltIn\\I2C]     "Prefix"="I2C"     "Dll"="I2C.DLL"     "Order"=dword:0     "Index"=dword:0 &nb ...…

查看全部問答∨

求開發板上數據處理的建議!

我在開發板上查了個傳感器,現在已經能通過read等系統調用讀出數據, 我是想把讀出的數據存起來,而且還希望能通過PC機對這些數據讀取、處理。這些數據是存在開發板上的數據庫中好呢還是讀到PC機上后再存到數據庫中? 希望有經驗的朋友給個建議, ...…

查看全部問答∨

老板發話:做個C6205的PCI BOOT.沒有思路,求救

不知道有沒有人做過tmsc6205的pci boot,能不能給點資料.…

查看全部問答∨

運算放大器

運算放大器有功率放大、電壓放大、電流放大,它們之間有什么區別嗎?分別用在什么場合啊?一直以來總是糊涂,有那位大俠能給總結一下,謝啦!…

查看全部問答∨

請教個問題??!

關于步進電機,比如不細分單步運行,一步位1.8度,10細分后,每一步為0.18度,相應的驅動電流也只有原來的十分之一,那么能否在細分點上讓電機停止呢? 比如,第一個細分點上讓電機停止,它是不是就只走了0.18度呢? [ 本帖最后由 heyxiaohao 于 201 ...…

查看全部問答∨

CN0191_【10款典型實驗室電路推薦】之五

【10款典型實驗室電路推薦】之五:圖1所示電路提供20位可編程電壓,其輸出范圍為−10 V至+10 V ,同時積分非線性為±1 LSB、微分非線性為±1LSB,并且具有低噪聲特性。                &n ...…

查看全部問答∨

msp430 No source available for "

msp430 No source available for "0xfffe" 是什么意思   有時候在線調試的時候  總是彈出這樣的語句.....這是什么情況啊....…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 得荣县| 上林县| 鄢陵县| 滕州市| 上犹县| 桃园县| 滦南县| 沂水县| 增城市| 渝中区| 岫岩| 涞源县| 武义县| 阳春市| 麻城市| 雷州市| 涟源市| 遵义县| 耒阳市| 沂南县| 尼勒克县| 静宁县| 道孚县| 望谟县| 新乡市| 正蓝旗| 大埔区| 丰城市| 迁西县| 崇仁县| 天津市| 自治县| 太原市| 玛纳斯县| 惠东县| 洛南县| 临安市| 大方县| 灵台县| 滦南县| 嘉定区|