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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

单片机中的几种通信方式

發(fā)布時間:2023/12/15 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单片机中的几种通信方式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

首先弄懂串行通信和并行通信以及串口通信和并口通信的概念。

串行通行:它是一個概念,它是指數(shù)據(jù)一位一位地順序傳送,其特點(diǎn)就是通信線路

簡單,只要一對傳輸線就可實(shí)現(xiàn)雙向通信,適用于遠(yuǎn)距離通信,但傳輸速度慢。

包括普通的串口通信,I2C,SPI,UART...

串口通信:是一種實(shí)際通信方式,但是我們可以幾乎看成一樣.

串行接口:簡稱串口,或串行通信接口,或串行通訊接口(通常指com口)。

并行通信:如果一組數(shù)據(jù)的各數(shù)據(jù)位在多條線上同時被傳輸,那么就是并行通信。

并口接口:就是一種接口,各數(shù)據(jù)位同時被傳輸,傳輸速度快,效率高,一邊可用于MCU。


串行通信又可分為單工,半雙工和全雙工

單工:信息只能單向傳送。

半雙工:信息能雙向傳送但不能同時。

全雙工:信息能同時雙向傳送。

串行通信還可分為同步通信和異步通信

同步通信(兩根線):是把許多字符組成一個信息組,這樣,字符可以一個接一個地傳輸,但是,

在每組信息(通常稱為信息幀)的開始要加上同步字符,在沒有信息要傳輸時,要填上空字符,

因?yàn)橥絺鬏敳辉试S有間隙。同步方式下,發(fā)送方除了發(fā)送數(shù)據(jù),還要傳輸同步時鐘信號,

信息傳輸?shù)碾p方用同一個時鐘信號確定傳輸過程中每1位的位置

異步通信(一根信號線,沒有時鐘線)是一種很常用的通信方式。異步通信在發(fā)送字符時,所發(fā)送的字符之間的時間

間隔可以是任意的。當(dāng)然,接收端必須時刻做好接收的準(zhǔn)備。發(fā)送端可以在任意時刻開始發(fā)送字符,

因此必須在每一個字符的開始和結(jié)束的地方加上標(biāo)志,即加上開始位和停止位,以便使接收端能夠

正確地將每一個字符接收下來。異步通信的好處是通信設(shè)備簡單、便宜,但傳輸效率較低(因?yàn)殚_始位和停止位的開銷所占比例較大)。

同步通信與異步通信區(qū)別:

1.同步通信要求接收端時鐘頻率和發(fā)送端時鐘頻率一致,發(fā)送端發(fā)送連續(xù)的比特流;異步通信時

不要求接收端時鐘和發(fā)送端時鐘同步,發(fā)送端發(fā)送 ? ? 完一個字節(jié)后,可經(jīng)過任意長的時間間隔再發(fā)送下一個字節(jié)。
2.同步通信效率高;異步通信效率較低。

3.同步通信較復(fù)雜,雙方時鐘的允許誤差較小;異步通信簡單,雙方時鐘可允許一定誤差。
4.同步通信可用于點(diǎn)對多點(diǎn);異步通信只適用于點(diǎn)對點(diǎn)。

單片機(jī)中的SPI、UART、I2C

1、SPI

????SPI允許單片機(jī)和外圍設(shè)備或者單片機(jī)之間高速同步數(shù)據(jù)傳輸,SPI可以有主機(jī)和從機(jī)模式之選,通信的主從機(jī)之間通過移位寄存器同時交換數(shù)據(jù)。目前自己用的以主機(jī)模式居多。SPI需要四線:SS,MISO,MOSI,SCK。

???通信過程:在設(shè)置好SPI的工作模式:包括SCK頻率(數(shù)據(jù)傳輸速率),工作速度,主從模式,以及數(shù)據(jù)接收發(fā)送對應(yīng)的時鐘極性。在主模式下,將SS拉低表示通信的開始,然后通過向SPI數(shù)據(jù)寄存器中寫入一字節(jié)的數(shù)據(jù)后自動啟動時鐘SCK開始進(jìn)行一次通信,通信完成后會產(chǎn)生相應(yīng)的中斷標(biāo)志,標(biāo)志一個字節(jié)數(shù)據(jù)的傳送完成。通信完成后將SS腳拉高,表示通信過程已經(jīng)結(jié)束。

???注意SS引腳的設(shè)置:當(dāng)設(shè)置為從機(jī)模式時,SS引腳應(yīng)設(shè)置為輸入,拉低的時候SPI才能起作用,拉高的話是消極的SPI模式;在主機(jī)模式下,SS引腳可以設(shè)置,一般應(yīng)設(shè)置為輸出,如果設(shè)置為輸入的話應(yīng)保持為高,否則將不能進(jìn)行正常的主機(jī)模式操作。

2、USART

???USART的操作比較簡單,主要是設(shè)置波特率,數(shù)據(jù)格式,以及中斷允許位等,值得至于的是其USART IN SPI MODE,在SPI模式下的USART的操作跟SPI操作差不多,主要是Clock的設(shè)置,然后發(fā)送數(shù)據(jù)還是通過USART的中斷進(jìn)行

3、I2C

???I2C接口是簡單強(qiáng)大的通信接口,只需要兩根雙向總線(時鐘和數(shù)據(jù)線),SCL和SDA,即可實(shí)現(xiàn)一個主機(jī)和最多128個從機(jī)進(jìn)行通信。模擬I2C接口的過程:啟動I2C,一般是在SCL為高時將SDA拉低啟動數(shù)據(jù)發(fā)送,SDA只有在SCL為低時才能拉高拉低有效,在SCL為高時拉高拉低SDA只是用于停止啟動I2C通信


I2C總線是 內(nèi)部總線 ,用來連接內(nèi)部系統(tǒng)內(nèi)的芯片。
串口通信是用來和系統(tǒng)外部的設(shè)別通信的。比如設(shè)備和設(shè)備之間通信。

SPI,UAR,I2C都是串行通信方式,并行通信方式一般用的少,因?yàn)橹贿m合

短距離,一般用于MCU比較多,因?yàn)镸CU它對數(shù)據(jù)的傳輸速度有要求,而且

與塔相連的芯片一般會比較近。


MCU 他的屬性要比CPU(這里指單片機(jī),其他地方應(yīng)該也是) 強(qiáng),它包括CPU的性能,

且還有CPU沒有的性能。



總結(jié)

以上是生活随笔為你收集整理的单片机中的几种通信方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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