日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

串口通信模块1:串口基础知识

發(fā)布時(shí)間:2025/3/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 串口通信模块1:串口基础知识 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

串行接口可以將接受來(lái)自CPU的并行數(shù)據(jù)字符,轉(zhuǎn)換為連續(xù)的串行數(shù)據(jù)流發(fā)送出去。同時(shí)可將接收的串行數(shù)據(jù)流轉(zhuǎn)換為并行的數(shù)據(jù)字符供給CPU的器件。一般完成這種功能的電路,稱為串行接口電路。常用的RS-232 (ANSI-EIA-232標(biāo)準(zhǔn))是IBM-PC及其兼容機(jī)上的串行連接標(biāo)準(zhǔn)。可用于許多用途,比如連接鼠標(biāo)、打印機(jī)或者M(jìn)odem,同時(shí),也可以連接工業(yè)儀器儀表。

1.串口簡(jiǎn)介

RS-232-C也稱標(biāo)準(zhǔn)串口,是目前最常用的一種串行通信接口,我們項(xiàng)目中也采用了這一種接口。傳統(tǒng)的RS-232-C接口標(biāo)準(zhǔn)有25根信號(hào)線,采用標(biāo)準(zhǔn)25芯D型插頭座。后來(lái),PC上使用了簡(jiǎn)化了的9芯D型插座。硬件表現(xiàn)為計(jì)算機(jī)后面的9針D型接口,由于其形狀和針腳數(shù)量的原因,其接頭又被稱為DB9接頭。RS-232針腳定義如下表所示:
RS-232針腳定義
針腳編號(hào)功能說(shuō)明
1CD( Carrier Detect )載波檢測(cè)
2RXD( ?Received Data )接收數(shù)據(jù)
3TXD( Transmit Data )發(fā)送數(shù)據(jù)
4DTR( Data Terminal Ready )數(shù)據(jù)終端就緒
5GND( System Ground )系統(tǒng)接地
6DSR( Data Set Ready )數(shù)據(jù)設(shè)備就緒
7RTS( Request To Send )請(qǐng)求發(fā)送
8CTS( Clear To Send )允許發(fā)送
9RI( Ring Indicator )響鈴指示器

其實(shí),我們平常最常用的就是2/3/5這三個(gè)引腳。因?yàn)橹恍枰@三個(gè)引腳便可完成基本的通信功能。

2.串口通信簡(jiǎn)介

所謂的串口通信也非常容易理解,即串口按位(bit)發(fā)送和接受字節(jié)。雖然比按字節(jié)(byte)的秉性通信速度慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時(shí)用另一根線接收數(shù)據(jù)。串口通信的實(shí)現(xiàn)很簡(jiǎn)單,而且能夠?qū)崿F(xiàn)遠(yuǎn)距離通信。比如IEEE488定義并行通信狀態(tài)時(shí),規(guī)定設(shè)備線總長(zhǎng)不得超過(guò)20米,并且任意兩個(gè)設(shè)備間的長(zhǎng)度不得超過(guò)2米;而對(duì)于串口通信而言,長(zhǎng)度可以達(dá)到1200米。 一般情況下,串口用于ASCII碼字符的傳輸。通信使用3根線完成:第5針腳的地線,第3針腳發(fā)送,第2針腳接受。由于串口通信是異步的,端口能夠在一根線上發(fā)送數(shù)據(jù)同時(shí)再領(lǐng)一根線上接收數(shù)據(jù)。其他針腳的線主要用于握手,可以不是必須的!串口通信有4個(gè)重要的參數(shù),分別是波特率、數(shù)據(jù)位、停止位和奇偶檢驗(yàn)位。對(duì)于兩個(gè)進(jìn)行通信的端口,這些參數(shù)必須匹配,否則通信將無(wú)法正常完成。下面主要討論一下這些參數(shù)的含義以及相應(yīng)的設(shè)置方法。 波特率 這是一個(gè)衡量通信速度的參數(shù)。他表示每秒鐘傳送的bit的個(gè)數(shù)。例如,300波特表示每秒鐘發(fā)送300個(gè)bit。當(dāng)我們提到時(shí)鐘周期時(shí)就是指波特率。例如,如果協(xié)議需要4800波特率,那么時(shí)鐘是4800Hz。這意味著串口通信在數(shù)據(jù)線上的采樣率為4800Hz。通常電話線的波特率為14400、28800、36600.波特率可以遠(yuǎn)遠(yuǎn)大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通信,堿性的例子就是GPIB設(shè)備的通信。 數(shù)據(jù)位 這是衡量通信中實(shí)際數(shù)據(jù)位的參數(shù)。當(dāng)計(jì)算機(jī)發(fā)送一個(gè)信息包,實(shí)際的數(shù)據(jù)不會(huì)是8位的,標(biāo)準(zhǔn)的值是5、7和8位。如何設(shè)置取決于想要傳送的信息。比如,標(biāo)準(zhǔn)的ASCII碼是0~127(7位)。拓展的ASCII碼是0~255(8位)。如果數(shù)據(jù)使用簡(jiǎn)單的文本(標(biāo)準(zhǔn)ASCII碼),那么每個(gè)數(shù)據(jù)包使用7位數(shù)據(jù)。每個(gè)包是指一個(gè)字節(jié),包括開始/停止位,數(shù)據(jù)位和奇偶檢驗(yàn)位。由于實(shí)際數(shù)據(jù)位取決于通信協(xié)議的選取,術(shù)語(yǔ)“包”指任何通信的情況。 停止位 用于表示單個(gè)包的最后一位。典型的值為1,1.5和2位。由于數(shù)據(jù)是在傳輸線上定時(shí)的,并且每一個(gè)設(shè)備有其自己的時(shí)鐘,很可能在通信中兩臺(tái)設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計(jì)算機(jī)校正時(shí)鐘同步的機(jī)會(huì)。適用于停止位的位數(shù)越多,不同時(shí)鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸同時(shí)也越慢。 奇偶檢驗(yàn)位 是在串口通信中一種簡(jiǎn)單的檢錯(cuò)方式。其實(shí)共包含了4中檢錯(cuò)方式,分別是偶、積、高、低。當(dāng)然沒有檢驗(yàn)位也是可以的。對(duì)于奇偶校驗(yàn)的情況,串口會(huì)設(shè)置校驗(yàn)位(數(shù)據(jù)位后面一位),用一個(gè)值確保傳輸?shù)臄?shù)據(jù)有偶數(shù)個(gè)或者奇數(shù)個(gè)邏輯高位。例如,如果數(shù)據(jù)是011,那么對(duì)于偶校驗(yàn),校驗(yàn)位為0,保證邏輯高的位數(shù)是偶數(shù)個(gè)。如果是積校驗(yàn),校驗(yàn)位為1,這樣就有3個(gè)邏輯高位。高位和低位不真正地檢查數(shù)據(jù),僅簡(jiǎn)單置位邏輯高或邏輯低校驗(yàn)。這樣使得接收設(shè)備能夠知道一個(gè)位的狀態(tài),有機(jī)會(huì)判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否同步。
有點(diǎn)公事需要處理,今天先到這里,明天繼續(xù)討論串口通信編程基礎(chǔ)。 與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的串口通信模块1:串口基础知识的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。