UART作為硬件來(lái)看,它是通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter),是電腦硬件的一部分,將資料由串行傳輸(Serial communication)與并行傳輸(Parallel communication)間作傳輸轉(zhuǎn)換。UART通常用在與其他通訊協(xié)定(如EIA RS-232)的連結(jié)上
具體實(shí)物表現(xiàn)為獨(dú)立的模塊化芯片,或作為集成于微處理器中的周邊設(shè)備。在開(kāi)發(fā)板設(shè)計(jì)和測(cè)試階段被用來(lái)控制CPU與其余部分的信息傳送。
UART作為一種軟件協(xié)議來(lái)看,是異步串口通信協(xié)議的英文縮寫(xiě),它包括了RS232、RS499、RS423、RS422和RS485等接口標(biāo)準(zhǔn)規(guī)范和總線標(biāo)準(zhǔn)規(guī)范,即UART是異步串行通信口的總稱(chēng)。 而RS232、RS499、RS423、RS422和RS485等,是對(duì)應(yīng)各種異步串行通信口的接口標(biāo)準(zhǔn)和總線標(biāo)準(zhǔn),它規(guī)定了通信口的電氣特性、傳輸速率、連接特性和接口的機(jī)械特性等內(nèi)容。實(shí)際上是屬于通信網(wǎng)絡(luò)中的物理層(最底層)的概念,與通信協(xié)議沒(méi)有直接關(guān)系。而通信協(xié)議,是屬于通信網(wǎng)絡(luò)中的數(shù)據(jù)鏈路層(上一層)的概念。

COM口是指針對(duì)串行通信協(xié)議的一種端口,是PC上異步串行通信口的簡(jiǎn)寫(xiě),大部分為9針孔D型。COM口里分RS232,RS422和RS485,傳輸功能依次遞增。所以,RS485口也是9針孔D型。由于歷史原因,IBM的PC外部接口配置為RS232,成為實(shí)際上的PC界默認(rèn)標(biāo)準(zhǔn)。所以,現(xiàn)在PC機(jī)的COM口均為RS232。若配有多個(gè)異步串行通信口,則分別稱(chēng)為COM1、COM2...
RS232或者RS485,是指通信協(xié)議傳輸方式的類(lèi)別之一,采用這類(lèi)通信方式的,可以有多種協(xié)議,包括串行通信,現(xiàn)場(chǎng)總線方式等。想完成某個(gè)通信處理的,首先會(huì)問(wèn)通信協(xié)議是什么,比如回答為串口、現(xiàn)場(chǎng)總線、以太網(wǎng)等;然后會(huì)確定該協(xié)議下的通信端口類(lèi)型,比如回答:USB口,RS232,RS422,RS485。
總的來(lái)說(shuō),對(duì)于一項(xiàng)通信任務(wù),通信協(xié)議可以使用UART協(xié)議,而UART協(xié)議可以通過(guò)COM端口來(lái)實(shí)現(xiàn)硬件連線,此協(xié)議下的傳輸方式可以選用RS232或者RS485等。
PS:注意使用電腦上的串口與微處理器通信時(shí),首先要經(jīng)過(guò)轉(zhuǎn)壓芯片(例如MAX232)來(lái)實(shí)現(xiàn)電平轉(zhuǎn)化。
TTL 高電平1是>=2.4V,低電平0是<=0.5V(對(duì)于5V或3.3V電源電壓);
RS232采用的是負(fù)邏輯,高電平1是-15V~-3V,低電平0是+3V~+15V;
CMOS電平以電源為參考,高電平1是>=0.7VCC,低電平0是<=0.2VCC。
串口通訊是電子工程師和嵌入式開(kāi)發(fā)工程師面對(duì)的基本問(wèn)題,RS232則是其中比較常用的通訊方式。但是初學(xué)者往往搞不清有關(guān)的名詞如UART和RS232或RS485之間是什么關(guān)系,因?yàn)樗鼈兘?jīng)常被放到語(yǔ)句中同等的位置使用。在百度搜索兩者的區(qū)別,可以看到排在前面的答案充斥著混淆的概念。就此,談?wù)勎覍?duì)這幾個(gè)概念的理解,希望能幫初學(xué)者厘清它們之間的關(guān)系。