spi,serial peripheral inte***ce,序列外設介面。
1、匯流排構成:
2、通訊特點:同步、序列、全雙工
一般情況下,mcu與某個功能模組之間用spi通訊時,mcu作為主機。
片選引腳cs,存在於從機上,當 cs引腳上檢測到低電平(相對於從機),此時從機
會參與接下來的spi通訊,若cs引腳上檢測到高電平,則不參與通訊。
spi通訊速度可達幾mhz或幾十mhz (x mbits/s)
3、連線示意圖:
使用spi通訊時,基於極性(時鐘線空閒時電平)、相位(從時鐘線第1或2個邊沿開始採集資料)不同,存在4種工作模式。工作模式由主機決定,但要和參與通訊的從機匹配。
一般支援spi通訊模組,至少支援兩種spi工作模式:模式0+模式3 或 模式1+模式2。
5、資料幀格式
spi通訊中不規定一幀資料的構成。(但是在stm32的片上外設spi結構中,規定一幀資料為8/16位資料位)
可以一次僅傳送一位資料
主機傳送一位資料後,就會在接下來的乙個邊沿時接收到一位資料
spi通訊中,從機只能在主機傳送一位資料後,調整miso線,回送一位資料。(同步位交換)
從機不能主動傳送資料。
主機通過dr(資料暫存器)每次通過mosi傳送1位資料,就會從miso接收1位
資料到dr上。
在 spi通訊中。
若主機需要傳送乙個位元組資料:
往dr寫入資料,傳送。
從dr讀取資料(忽略)
若主機需要接收從機傳送的乙個位元組資料
往dr 寫入資料(忽略),傳送
從dr讀取資料
引腳復用配置(spix_mosi,spix_miso,spix_sck)
啟用spi
spi配置
全雙工配置
主從模式配置
通訊速度/資料幀格式/時序模式0~3 (考慮與之通訊的模組的特性)
spi使能
spix傳輸一次資料(傳送/接收)
等待上次傳送完畢;
往dr中寫入本次待傳送的資料;
等待可以接收資料(也說明傳送完資料);
從dr中讀取本次接收的資料;
void spi_calculatecrc (spi_typedef *spix, functionalstate newstate)
使能或禁止對傳輸資料的crc校驗
void spi_cmd (spi_typedef *spix, functionalstate newstate)
使能或禁止spi
uint16_t spi_getcrc (spi_typedef *spix, uint8_t spi_crc)
返回傳送/接收時crc暫存器的值
void spi_i2s_clearflag (spi_typedef *spix, uint16_t spi_i2s_flag)
清除crc錯誤校驗位
void spi_i2s_clearitpendingbit (spi_typedef *spix, uint8_t spi_i2s_it)
清除中斷標誌位(crc錯誤校驗位)
flagstatus spi_i2s_getflagstatus (spi_typedef *spix, uint16_t spi_i2s_flag)
獲取spix的標誌位
itstatus spi_i2s_getitstatus (spi_typedef *spix, uint8_t spi_i2s_it)
獲取spix的中斷標誌位
void spi_i2s_itconfig (spi_typedef *spix, uint8_t spi_i2s_it, functionalstate newstate)
使能或禁止中斷配置
uint16_t spi_i2s_receivedata (spi_typedef *spix)
返回最近從spix上接收的資料
void spi_i2s_senddata (spi_typedef *spix, uint16_t data)
通過spix傳輸資料
void spi_init (spi_typedef *spix, spi_inittypedef *spi_initstruct)
基於spi_initstruct初始化spix外設
void spi_transmitcrc (spi_typedef *spix)
傳送spix的crc校驗值
串列埠通訊筆記
串列埠通訊主要用到下面幾個函式 createfile 開啟通訊埠 closehandle 關閉通訊埠 getcommstate 取得埠的引數 setcommstate 設定埠引數 writefile 埠傳送資料 readfile 埠讀取資料 clearcommerror 清除埠錯誤,並取得資訊 pu...
Socket通訊筆記
當socket通訊的3次握手和四次揮手的問題了解了之後,下一步來到實際的程式開發階段了。首先,乙個簡單的應和答。當client第一次發出資訊之前大致有以下過程 如下 client public static void main string args server public static voi...
C Socket SSL通訊筆記
一 x.509證書 1.製作證書 先進入到vs2005的命令列狀態,即 開始 程式 microsoft visual studio 2005 visual studio tools visual studio 2005 命令提示 鍵入 makecert r pe n cn myserver ss m...