<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > SPI通信協(xié)議:?jiǎn)纹瑱Cspi通信接口什么意思,spi接口干什么用的?

SPI通信協(xié)議:?jiǎn)纹瑱Cspi通信接口什么意思,spi接口干什么用的?

作者: 時(shí)間:2023-12-13 來(lái)源:無(wú)際單片機編程 收藏

講真,以前做開(kāi)發(fā)的時(shí)候最怕就是調spi和iic。

本文引用地址:http://dyxdggzs.com/article/202312/453850.htm

因為公司沒(méi)有邏輯分析儀,調起來(lái)全憑經(jīng)驗,一出問(wèn)題找都找不到,只能仔細看代碼盲調,看是不是哪個(gè)時(shí)序有問(wèn)題。

說(shuō)到這里,可能剛初學(xué)的小伙伴會(huì )問(wèn):?jiǎn)纹瑱C是什么鬼?spi接口是干什么用的?

一、單片機是什么鬼?

單片機是一個(gè)可編程的微控制器,和其實(shí)是兩個(gè)獨立的東西。

只不過(guò)我們用單片機可以去實(shí)現spi通信而已,但是實(shí)現spi通信不一定非要單片機。

我們人和人之間溝通,要靠說(shuō)話(huà),并且兩個(gè)人語(yǔ)言要一樣,比如說(shuō)都用普通話(huà)。

那芯片和芯片溝通,它們又不會(huì )說(shuō)話(huà),怎么傳遞信息呢?

就是通過(guò)通信總線(xiàn),通信總線(xiàn)有很多種,比如IIC、SPI、USART、CAN,它們的區別就像普通話(huà)、英語(yǔ)、韓語(yǔ)、俄語(yǔ),都是用來(lái)傳遞信息用的,只是傳遞方式不同。

但傳遞信息,有一個(gè)前提,就是語(yǔ)言要相同,也就是通信方式要相同。

所以說(shuō),spi是一種通信方式,是用來(lái)傳遞信息的。

不同的通信方式,傳遞信息的方式不同。

Spi是一種全雙工、高速的、同步的通信總線(xiàn)。

簡(jiǎn)單來(lái)說(shuō),就是你們兩個(gè)可以同時(shí)快速地說(shuō)話(huà),你能把你要說(shuō)的告訴對方,同時(shí)也能聽(tīng)到對方說(shuō)什么,這就是全雙工。

還有一種叫半雙工,就是你們同時(shí)只能有一個(gè)人說(shuō),另一個(gè)聽(tīng),說(shuō)完了,另外一個(gè)才能說(shuō)。

很明顯,全雙工傳遞信息的效率更高吧。

同步的意思我給你們兩個(gè)對話(huà)設定個(gè)條件,比如說(shuō)我說(shuō)開(kāi)始你們才可以對話(huà),我說(shuō)停止就都不能說(shuō)話(huà)。

二、spi接口是干什么用的?

我們人和人傳遞信息一般是靠耳朵和嘴巴對吧?

Spi通信傳遞信息是通過(guò)接口,來(lái)看下圖:


spi接口有4根線(xiàn),分別是CS、SCLK、MOSI、MISO。

SCLK是同步信號,一般由主控來(lái)控制。

既然是通信,自然是需要有個(gè)”對象”,如上圖A和B。

A是SPI Master,也就是主控,比如說(shuō)單片機,一般就是主控的角色,主控來(lái)負責發(fā)送SCLK同步信號通知SPI Slave是否需要進(jìn)行數據通信。

B是SPI Slave,也就是從機,比如說(shuō)Flash芯片。

CS代表片選信號,為什么要用片選呢?

因為一個(gè)SPI Master可以跟不同的SPI Slave進(jìn)行通信。


SPI Master就是通過(guò)CS來(lái)控制,具體跟哪個(gè)SPI Slave通訊,控制CS為低電平就代表選中該SPI Slave。

如果說(shuō)只跟一個(gè)從設備通訊,也可以直接把CS串聯(lián)電阻接地,省的每次都去控制它。

MOSI英文全稱(chēng)是Master Output Slave Input,這個(gè)一般接主控器件數據輸出引腳,從機器件數據輸入引腳。

MISO英文全稱(chēng)是Slave Input Master Output,這個(gè)一般接主控器件數據輸入引腳,從機器件數據輸出引腳。

除此以外,還有一種特殊的用法,就是只用SCLK和MOSI這兩個(gè)引腳的SPI通信。

比如說(shuō)我們無(wú)際單片機編程實(shí)戰項目課程里有個(gè)OLED屏的應用。


片選引腳CS我直接硬件接地了,因為只有一個(gè)從設備。

我們主要是控制OLED屏去顯示內容,并不需要從OLED讀取數據,所以MISO也不需要。

這種情況是可以只用2根線(xiàn)的。

所以,這種協(xié)議要從本質(zhì)上去理解它們,不需要死記硬背要接幾個(gè)引腳,你學(xué)廢了嗎?




關(guān)鍵詞: MCU spi通信

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>