STM32學(xué)習(xí)013_SPI串行外設(shè)接口通信
SPI(Serial Periphreal Iterface-串行外設(shè)接口)總線系統(tǒng)是一種同步串行外設(shè)接口,使MCU與各種外圍接口以串行方式進(jìn)行通訊交換信息,SPI有三個(gè)寄存器,控制寄存器SPCR,狀態(tài)寄存器SPSR,數(shù)據(jù)寄存器SPDR,外圍設(shè)備包括FlashRam,網(wǎng)絡(luò)控制器,LCD顯示驅(qū)動(dòng)器,AD轉(zhuǎn)換器和MCU etc.接口一共用4條線,串行時(shí)鐘線(SCLK),主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線MISO,主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI,和低電平有效的從機(jī)選擇線NSS.
SPI接口主要應(yīng)用在EEPROM,flash 實(shí)時(shí)時(shí)鐘,AD轉(zhuǎn)換器,還有數(shù)字信號(hào)處理器和數(shù)字信號(hào)解碼器之間。
數(shù)據(jù)傳輸?shù)倪^程:在主器件的移位脈沖下,數(shù)據(jù)按位傳輸,低位在前,高位在后,為全雙工通信,整體傳輸速度比IIC要快,速度可達(dá)幾Mbps.
優(yōu)點(diǎn),信號(hào)線少,協(xié)議簡(jiǎn)單,相對(duì)數(shù)據(jù)速率高。缺點(diǎn):沒有指定的流控制,沒有應(yīng)答機(jī)制,確認(rèn)是否接收到數(shù)據(jù)。
SPI有4種工作模式,各個(gè)工作模式的不同在于SCLK 的不同,具體工作由CPOL,CPHA決定。
使用SPI通訊,參考方法如下:
第一步:設(shè)置主,從模式,設(shè)置MSTR ,SPE(使能位);
第二步:設(shè)置(時(shí)鐘)相位和極性,
第三步:設(shè)置數(shù)據(jù)幀的格式;(8位數(shù)據(jù)位,1位停止位,設(shè)置高位MSB在先,還是低位(LSB)在先);