成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

趣聊51之串口通信(概念篇)

blastz / 3952人閱讀

摘要:那么問題來了,單片機(jī)和之間的串口通信屬于哪種通信制式呢答案是全雙工,從單片機(jī)上有和兩個(gè)口就可以知道最后要講的一個(gè)重要的概念叫波特率。

????????對于剛剛接觸單片機(jī)的同學(xué)們來說,串口通信似乎是一個(gè)神秘感十足的東西,筆者在剛剛開始學(xué)習(xí)51單片機(jī)時(shí),讀的是郭天祥先生的那本著名的《新概念51單片機(jī)教程》,賊厚的一本書,但是等讀完串口通信的內(nèi)容之后,我突然覺得51單片機(jī)也就那回事,無非是各種中斷,定時(shí)器的運(yùn)用,對外部設(shè)備的控制啊,例如ADC芯片,12864液晶屏,再或者就是今天我們所提到的串口通信的內(nèi)容。

????????那么什么叫串口通信呢?我想有必要先來和大家討論一下什么叫做“通信”。

????????“通信,指人與人或人與自然之間通過某種行為或媒介進(jìn)行的信息交流與傳遞,從廣義上指需要信息的雙方或多方在不違背各自意愿的情況下采用任意方法、任意媒質(zhì),將信息從某方準(zhǔn)確安全地傳送到另方”(來源:百度百科)

????????從上面的定義我們可以知道,通信其實(shí)就是信息的傳遞。所以我們需要明白幾個(gè)重要的概念。第一個(gè)就是傳輸媒介,手機(jī)屏幕前的你和正在敲博客的我,今天聚焦在單片機(jī)這個(gè)話題上,所以我們主要討論以金屬導(dǎo)線為媒介的通信方式。其次,我們需要關(guān)注傳輸信息的內(nèi)容,在微機(jī)系統(tǒng)中,微型計(jì)算機(jī)接受和處理的都是二進(jìn)制碼,嗯,理所當(dāng)然,咱們傳輸?shù)男畔⒈闶?/1。最后便是通信的雙方,我們不可能對著空氣交流,這樣的交流是沒有意義的,我們今天聊的通信介于微機(jī)與微機(jī)之間,也就是你的PC與單片機(jī)間,或者一公一母的一對單片機(jī)之間,抑或是幸福的單片機(jī)家庭之間的信息交流。

????????那么你要問了,單片機(jī)之間要如何“聊天”呢?類似于咱們?nèi)祟?,單片機(jī)之間的交流也需要“嘴”(Transmit external data,簡稱TXD)和“耳”(RXD,英文自行補(bǔ)充),我們把這兩個(gè)接口稱作“串口”。

????????它們具體在51單片機(jī)上的位置如圖所示。這里我想要大家理解的除了RXD和TXD的作用之外,還要知道,我們在通信時(shí)總是“嘴”對“耳”進(jìn)行傳輸?shù)模碦XD和TXD連接),“嘴對嘴”(TXD接TXD)或者是“耳對耳”(RXD對RXD)的行為是不可取的,容易引起其他單身單片機(jī)的不適。

????????好了,說了這么多也沒聊到什么是串口通信,可能大半的同學(xué)都默默離開了我的博客,并且還留下了幾句“廢話真多”的評論,好嘛,各位看官不要急,好戲正式開演。

????????前面我們把單片機(jī)之間的通信比作我們?nèi)祟愔g的交流,這其實(shí)是非常恰當(dāng)?shù)模槲业穆斆鞑胖屈c(diǎn)個(gè)贊)。但是更聰明的同學(xué)肯定會提出來,如果單片機(jī)中出現(xiàn)了一個(gè)”啞巴“,它要如何與其他小伙伴進(jìn)行交流呢?獨(dú)秀同學(xué)請坐下,讓我來說:當(dāng)然是通過“視覺”交流!在微機(jī)中這種方法又叫“并行通訊”。

????????就像我們的眼睛一次性能看到一幅畫面一樣,并行通信通常是將數(shù)據(jù)的各位用多條數(shù)據(jù)線同時(shí)進(jìn)行傳輸,這樣,瞬間咱們的單片機(jī)便可以接收到一個(gè)字節(jié),或者多個(gè)字節(jié)的數(shù)據(jù)。這種傳輸方式的優(yōu)點(diǎn)就是傳輸?shù)乃俣确浅??,但是其缺點(diǎn)也很明顯,那就是傳輸距離短、成本高,常用在集成電路芯片的內(nèi)部、同一插件板上各部件之間、同一機(jī)箱內(nèi)個(gè)插件板之間的數(shù)據(jù)傳輸,或者老式打印機(jī)與計(jì)算機(jī)連接等場合。

????????

????????那么與之對應(yīng)什么又是串行通信(serial communication,簡稱SC)呢?大家仔細(xì)琢磨一下我們說話的過程就可以明白,通常咱們說一句話時(shí)總是一個(gè)字一個(gè)字往外蹦,無論你語速多快,后一個(gè)字總要等前一個(gè)字說完以后才能被說出口,類似的,在微機(jī)中就是使用一條數(shù)據(jù)線,將數(shù)據(jù)一位一位地依次傳輸,每一位數(shù)據(jù)占據(jù)一個(gè)固定的時(shí)間長度。只需要少數(shù)幾條線就可以在系統(tǒng)間交換信息,特別適用于計(jì)算機(jī)與計(jì)算機(jī)、計(jì)算機(jī)與外設(shè)之間的遠(yuǎn)距離通信。很容易可以知道,相比于并行通信,串行通信所花費(fèi)的時(shí)間更長,但其優(yōu)點(diǎn)遠(yuǎn)大于缺點(diǎn),所以應(yīng)用十分廣泛。?

????????正如不同人說話的語速不同,每句話之間的停頓也不同,串行通訊也被分為異步串行通信(synchronized serial port communication)與同步串行通信。我在這里想要提醒大家的是,無論是同步串行通信抑或是異步串行通信,在“說一句話”時(shí)每個(gè)“字”之間的時(shí)間是相同的,就像說話時(shí)快時(shí)慢會讓人感覺特別難受一樣,發(fā)送每位數(shù)據(jù)所占的時(shí)間要盡可能相同,并且要與接收者的速度相匹配。(就像說話速度太快,別人容易聽不清)。

????????那什么是異步串行通信和同步串行通信呢?前面我們說到,說話時(shí)要讓“語速”在發(fā)送者和接收者之間同步。在微機(jī)世界中,想要達(dá)成這個(gè)目的可以通過讓發(fā)送者和接收者共用一條時(shí)鐘線(你該不會連時(shí)鐘是什么都不明白吧?)來實(shí)現(xiàn),這就是所謂的“同步串行通信”

????????但是呢,雖然同步串行通信的速度快,效率高,但接收者和發(fā)送者之間需要共用一條時(shí)鐘線,些許違背了我們串行通信的初衷,聰明的同學(xué)肯定會發(fā)出疑問:為什么不先告知雙方通信的速度,然后讓他們各自按照速度進(jìn)行通信不就行了?非常正確!由此我們引出了重點(diǎn):“異步串行通信”

????????什么叫異步通信呢?就是發(fā)送與接受設(shè)備都使用各自的時(shí)鐘,要求是這兩個(gè)時(shí)鐘要盡可能一致,發(fā)送的時(shí)間間隔可以不同(如圖所示),接收方通過數(shù)據(jù)的起始位和停止位來實(shí)現(xiàn)數(shù)據(jù)的同步。同步通信就好比起跑線上全神貫注的運(yùn)動員,時(shí)刻等待發(fā)令槍響,而異步通信就像上課走神的你,老師轉(zhuǎn)過身去寫板書時(shí)你便開始走神,而當(dāng)老師回過身來你又開始聽課。

????????所以異步串行通信的基本格式,專業(yè)術(shù)語叫“數(shù)據(jù)幀”。它的組成包括了四個(gè)部分:起始位,數(shù)據(jù)位,校驗(yàn)位,和停止位。所謂的校驗(yàn)位又稱奇偶校驗(yàn)位,它的目的就是告訴接收者,這幀數(shù)據(jù)在傳輸過程中有沒有出錯(cuò)。理所當(dāng)然,它分為奇校驗(yàn)和偶校驗(yàn)。很多同學(xué)理解不了奇偶校驗(yàn)的概念,這里我和大家簡要介紹一下:奇校驗(yàn)時(shí),這幀數(shù)據(jù)中“1”的個(gè)數(shù)之和為奇數(shù),偶校驗(yàn)與此類似。校驗(yàn)位就像一個(gè)頑皮的孩子,在0和1之間反復(fù)橫跳,只為讓數(shù)據(jù)中“1”的個(gè)數(shù)為奇數(shù)或者偶數(shù)(奇數(shù)加一為偶,偶數(shù)加一為奇),以便讓接收者知道接收到的信息有沒有“變味”。

在串行通信中通信的方式根據(jù)時(shí)間和方向的不同可以分為:單工,半雙工,全雙工。

????????我們從圖中可以看出所謂單工就是數(shù)據(jù)的傳輸只能沿一個(gè)方向,不能實(shí)現(xiàn)反向傳輸。半雙工就是數(shù)據(jù)可以沿兩個(gè)方向傳輸了但是必須分時(shí)進(jìn)行;全雙工是指數(shù)據(jù)可以同時(shí)進(jìn)行雙向傳輸。

????????那么問題來了,51單片機(jī)和PC之間的串口通信屬于哪種通信制式呢?

????????(答案是全雙工,從單片機(jī)上有RXD和TXD兩個(gè)口就可以知道)

????????最后要講的一個(gè)重要的概念叫波特率。大家在做點(diǎn)亮第一個(gè)LED燈實(shí)驗(yàn)時(shí),就使用過程序燒錄軟件,在里面我們常常能看到所謂“波特率”,我們不知其意但又經(jīng)常使用(例如程序燒錄失敗可以嘗試調(diào)低波特率解決)。其實(shí)咱們51單片機(jī)的程序燒錄方式采用了串行通信的方式,所謂波特率就是每秒鐘串行總線傳輸二進(jìn)制代碼的位數(shù),單位為bps(bit per second)簡稱波特。例如 1波特=1位/秒,也就是每秒鐘傳輸1位數(shù)據(jù),所以常用的4800、9600等等就很好理解了。值得注意的是,數(shù)據(jù)在串行傳輸過程中波特率會隨著導(dǎo)線長度而衰減,所以串口通信并不適用于長距離的傳輸,(一般使用rs485通信或者can總線等等方式)。

????????講到這里,本篇博客應(yīng)該就要結(jié)束了,很高興給大家分享了一些知識。本人機(jī)緣巧合接觸到單片機(jī),之前常聽別人說學(xué)會了單片機(jī)保你前途光明遠(yuǎn)大,此話是真是假暫且不論,我覺得學(xué)習(xí)的最高驅(qū)動力應(yīng)該是興趣,這種興趣無謂功名純屬愛好,當(dāng)然如果愛好能給人生帶來一些起色是最好不過的。作為一名電子愛好者,我們永遠(yuǎn)忘記不了點(diǎn)亮第一顆LED燈時(shí)的喜悅,有時(shí),銘記就是最好的證明,證明我們曾心動過,曾努力過,曾夢想過。

????????路漫漫其修遠(yuǎn)兮,吾將上下而求索。與君共勉!

本博客所引圖片均援引自網(wǎng)絡(luò),侵刪。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/123454.html

相關(guān)文章

  • 51單片機(jī)學(xué)習(xí)筆記001-----51單片機(jī)基礎(chǔ)構(gòu)造淺介紹

    摘要:單片機(jī)在一片集成電路芯片上集成微處理器存儲器接口電路,從而構(gòu)成了單芯片微型計(jì)算機(jī),即單片機(jī)。沒搞懂專欄咋弄的,慢慢摸索吧,本人純新手,讀書人的事沒啥要臉不要臉的,有問題隨便指出,隨便噴,歡迎來指點(diǎn) 2021-9-25 自己手繪的一張圖,算是簡單的介紹吧? 對照實(shí)圖看一下 ? ? ? ?...

    int64 評論0 收藏0
  • 串口實(shí)現(xiàn)雙機(jī)通信

    摘要:利用總線可以實(shí)現(xiàn)全雙工通信,在多數(shù)情況下主要使用主通道。在一般應(yīng)用中,使用條條信號線就可以實(shí)現(xiàn)全雙工通信,如采用三條信號線接收線發(fā)送線和信號地能實(shí)現(xiàn)簡單的全雙工通信過程。 ...

    zombieda 評論0 收藏0
  • 樹莓派學(xué)習(xí)筆記(五)串口通信

    摘要:觀看學(xué)習(xí)上官可編程陳立臣老師的樹莓派視頻,在其過程中所記錄的學(xué)習(xí)筆記一串口通信概念串口通信用于多機(jī)通信串口通信屬于全雙工通信,即雙方可以同時(shí)進(jìn)行交流半雙工通信,一次只允許一方進(jìn)行通信樹莓派進(jìn)行串口通信一般要連接兩根線和 ...

    levinit 評論0 收藏0
  • 串口雙機(jī)通信

    摘要:轉(zhuǎn)實(shí)現(xiàn)雙機(jī)通信一串口通信電平簡介一標(biāo)準(zhǔn)電平二標(biāo)準(zhǔn)三標(biāo)準(zhǔn)與標(biāo)準(zhǔn)的區(qū)別二轉(zhuǎn)實(shí)現(xiàn)雙機(jī)通信一連線操作二打開串口調(diào)試助手總結(jié)一串口通信電平簡介一標(biāo)準(zhǔn)電平指雙極型三極管邏輯電路,市面上很多轉(zhuǎn)模塊,實(shí)際上是轉(zhuǎn)電平的串口模塊。 ...

    hoohack 評論0 收藏0
  • 【STM32】標(biāo)準(zhǔn)庫與HAL庫對照學(xué)習(xí)教程八--串口通信詳解

    摘要:異步通信與同步通信異步通信異步通信是指通信的發(fā)送與接收設(shè)備使用各自的時(shí)鐘控制數(shù)據(jù)的發(fā)送和接收過程。同步通信同步通信時(shí)要建立發(fā)送方時(shí)鐘對接收方時(shí)鐘的直接控制,使雙方達(dá)到完全同步。配置串口設(shè)置為異步通信基礎(chǔ)參數(shù)波特率為。 ...

    yck 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<