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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

SPI协议

發(fā)布時(shí)間:2023/12/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SPI协议 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

SPI協(xié)議

SPI通訊協(xié)議(Serial Peripheral Interface),即串行外圍設(shè)備接口,是一種高速全雙工的通信總線(比I2C協(xié)議快)。它被廣泛地使用在ADC、LCD等設(shè)備與MCU間,要求通訊速率較高的場(chǎng)合。
一、物理層

SS:從設(shè)備選擇信號(hào)線,常稱(chēng)為片選信號(hào)線,也稱(chēng)為NSS、CS。
每個(gè)從設(shè)備都有獨(dú)立的這一條SS信號(hào)線,本信號(hào)線獨(dú)占主機(jī)的一個(gè)引腳,即有多少個(gè)從設(shè)備,就有多少條片選信號(hào)線。l2C協(xié)議中通過(guò)設(shè)備地址來(lái)尋址、選中總線上的某個(gè)設(shè)備并與其進(jìn)行通訊;而SPI協(xié)議中沒(méi)有設(shè)備地址,它使用SS信號(hào)線來(lái)尋址,當(dāng)主機(jī)要選擇從設(shè)備時(shí),把該從設(shè)備的SS信號(hào)線設(shè)置為低電平,該從設(shè)備即被選中,即片選有效,接著主機(jī)開(kāi)始與被選中的從設(shè)備進(jìn)行SPI通訊。所以SPI通訊以SS線置低電平為開(kāi)始信號(hào),以SS線被拉高作為結(jié)束信號(hào)。
SCK:時(shí)鐘信號(hào)線。
它由通訊主機(jī)產(chǎn)生,決定了通訊的速率,不同的設(shè)備支持的最高時(shí)鐘頻率不一樣,如STM32的SPI時(shí)鐘頻率最大為f(pclk)/2,兩個(gè)設(shè)備之間通訊時(shí),通訊速率受限于低速設(shè)備。
MOSI:(Master Output ,Slave Input)
主設(shè)備輸出/從設(shè)備輸入引腳。
主機(jī)的數(shù)據(jù)從這條信號(hào)線輸出,從機(jī)由這條信號(hào)線讀入主機(jī)發(fā)送的數(shù)據(jù),即這條線上數(shù)據(jù)的方向?yàn)橹鳈C(jī)到從機(jī)。
MISO:(Master Input,Slave Output):
主設(shè)備輸入/從設(shè)備輸出引腳。
主機(jī)從這條信號(hào)線讀入數(shù)據(jù),從機(jī)的數(shù)據(jù)由這條信號(hào)線輸出到主機(jī),即在這條線上數(shù)據(jù)的方向?yàn)閺臋C(jī)到主機(jī)。
注:MISO和MOSI相當(dāng)于SDA,而SDA又有TX和RX引腳進(jìn)行數(shù)據(jù)發(fā)送與接收。都是全雙工。MOSI相當(dāng)于TX,MISO相當(dāng)于RX。區(qū)別在于,STM32與電腦連接時(shí),TX應(yīng)與RX相連接,RX與TX相連接;而使用SPI協(xié)議時(shí),一條數(shù)據(jù)通道連的兩端就是MISO與MOSI,例如,STM32的MISO引腳的另一端就是MOSI,不需要交叉連接,且這條連接的信號(hào)線是共用的。
二、協(xié)議層
SPI的協(xié)議層定義了通訊的起始和終止信號(hào)、數(shù)據(jù)有效性、時(shí)鐘同步等環(huán)節(jié)。

SPI協(xié)議層時(shí)序圖

(1)通信環(huán)節(jié):
NSS輸出端:片選引腳 。片選信號(hào)是低電平有效,因此片選引腳傳輸過(guò)程中一直到是低電平
SCK輸出端:SCK引腳。上升沿觸發(fā),下降沿采樣。圖中上升沿時(shí)的數(shù)據(jù)無(wú)效,下降沿即下一個(gè)上升沿之間的數(shù)據(jù)有效。但SPI協(xié)議中上升沿和下降沿含義不像I2C協(xié)議定死,可以另定義。
數(shù)據(jù)信號(hào)線:MOSI輸出端和MISO輸入端
字節(jié)序
1、LSB:全稱(chēng)為L(zhǎng)east Significant Bit,在二進(jìn)制數(shù)中意為最低有效位,一般來(lái)說(shuō),MSB位于二進(jìn)制數(shù)的最左側(cè),LSB位于二進(jìn)制數(shù)的最右側(cè)。圖中MSBOUT即輸出時(shí)字節(jié)序?yàn)閺淖蟮接摇?并且對(duì)于上文物理層的圖例來(lái)說(shuō),MOSI輸出一個(gè)數(shù)據(jù),MISO就輸入一個(gè)數(shù)據(jù),且兩者是同時(shí)進(jìn)行的。
2、MSB:全稱(chēng)為Most Significant Bit,在二進(jìn)制數(shù)中屬于最高有效位,MSB是最高加權(quán)位,與十進(jìn)制數(shù)字中最左邊的一位類(lèi)似。
(2)通訊的起始與停止信號(hào)
標(biāo)號(hào)①處,NSS信號(hào)線由高變低,是SPI通訊的起始信號(hào)。NSS是每個(gè)從機(jī)各自獨(dú)占的信號(hào)線,當(dāng)從機(jī)檢在自己的NSS線檢測(cè)到起始信號(hào)后,就知道自己被主機(jī)選中了,開(kāi)始準(zhǔn)備與主機(jī)通訊。
在圖中的標(biāo)號(hào)⑥處,NSS信號(hào)由低變高,是SPI通訊的停止信號(hào),表示本次通訊結(jié)束,從機(jī)的選中狀態(tài)被取消。
(3)數(shù)據(jù)有效性
SPI使用MOSI及MISO信號(hào)線來(lái)傳輸數(shù)據(jù),使用SCK信號(hào)線進(jìn)行數(shù)據(jù)同步。MOSI及MISO數(shù)據(jù)線在SCK的每個(gè)時(shí)鐘周期傳輸一位數(shù)據(jù),且數(shù)據(jù)輸入輸出是同時(shí)進(jìn)行的。
(4)CPOL/CPHA及通訊模式

CPHA=0時(shí)

CPOL:時(shí)鐘極性,指SPI通訊設(shè)備在空閑時(shí)間時(shí),SCK時(shí)鐘信號(hào)線的電平信號(hào)(即SPI通訊開(kāi)始前、NSS線為高電平時(shí)SCK的狀態(tài))。CPOL=0時(shí),SCK在空閑狀態(tài)時(shí)為低電平,CPOL=1時(shí),則SCK在空閑狀態(tài)時(shí)為高電平。代表了通訊時(shí)的兩種極性。
CPHA:時(shí)鐘相位,指數(shù)據(jù)的采樣的時(shí)刻。當(dāng)CPHA=0時(shí),MOSI或MISO數(shù)據(jù)線上的信號(hào)將會(huì)在SCK時(shí)鐘線的“奇數(shù)邊沿”被采樣;當(dāng)CPHA=1時(shí),數(shù)據(jù)線在SCK的“偶數(shù)邊沿”采樣。

CPHA=1時(shí)

CPOL及CPHA的不同狀態(tài),SPI分成了四種模式,主機(jī)與從機(jī)需要工作在相同的模式下才可以正常通訊,實(shí)際中采用的常是模式0和模式3:

四種模式

三、SPI的外設(shè)
STM32的SPI外設(shè)可用作通訊的主機(jī)及從機(jī),支持最高的SCK時(shí)鐘頻率為f(pclk)/2 (STM32F407型號(hào)的芯片默認(rèn)f(pclk2)為84MHzf(pclk1)為42MHz),完全支持SPI協(xié)議的4種模式,數(shù)據(jù)幀長(zhǎng)度可設(shè)置為8位或16位,可設(shè)置數(shù)據(jù)MSB先行或LSB先行。它還支持雙線(指MISO和MOSI)全雙工(前面說(shuō)明的都是這種模式)、雙線單向以及單線模式。

STM32SPI外設(shè)演示圖
四個(gè)部分:
(1)通訊引腳
(2)時(shí)鐘控制邏輯:SCK連接到波特率發(fā)生器用于產(chǎn)生時(shí)鐘
(3)數(shù)據(jù)控制邏輯:數(shù)據(jù)寫(xiě)到發(fā)送緩沖區(qū),通過(guò)移位寄存器將數(shù)據(jù)一位一位地發(fā)送出去(即并行轉(zhuǎn)串行);輸入時(shí),數(shù)據(jù)一位一位的輸入移位寄存器組合成八位數(shù)據(jù),并發(fā)到接收緩沖區(qū)(串行轉(zhuǎn)并行);地址和數(shù)據(jù)總線讀寫(xiě)緩沖區(qū)的數(shù)據(jù),達(dá)到數(shù)據(jù)的接受和發(fā)送的效果。
(4)整體控制邏輯:BR[2:0]波特率寄存器

通訊引腳(F407,以手冊(cè)為準(zhǔn))

時(shí)鐘控制邏輯(補(bǔ)充):SCK線的時(shí)鐘信號(hào),由波特率發(fā)生器根據(jù)“控制寄存器CR1”中的BR[0:2]位控制,該位是對(duì)f(pclk)時(shí)鐘的分頻因子,對(duì)f(pclk)的分頻結(jié)果就是SCK引腳的輸出時(shí)鐘頻率。

BR配置對(duì)應(yīng)分頻

其他幾個(gè)常用SPI可配置寄存器及其位應(yīng)用:
(注:SPI_CR1寄存器不可以用于I2S模式)
SPI_CR1
(1)位2,MSTR位——0:從配置 (作為從機(jī))
1:主配置 (作為主機(jī))
(2)位7,LSBFIRST——0:先發(fā)送MSB
1:先發(fā)送LSB
(3)RXONLY:只接收(Receive only)位10——0:全雙工(發(fā)送和接收) 1:關(guān)閉輸出(只接收模式)
(4)DFF位,DFF為數(shù)據(jù)幀格式(Data frame format)——0:接收8位數(shù)據(jù)幀格式 1:接收16位數(shù)據(jù)幀格式
SPI_DR:數(shù)據(jù)寄存器DR[15:0],分為兩個(gè)緩沖區(qū),一個(gè)用來(lái)寫(xiě)入(發(fā)送緩沖區(qū))一個(gè)用來(lái)讀取(接收緩沖區(qū))。
發(fā)達(dá)或接收的數(shù)據(jù)為8位或16位,具體取決于數(shù)據(jù)幀格式選擇位(SPI_CR1寄存器中的DFF)。必須在使能SPI前進(jìn)行此項(xiàng)選擇,以確保操作正確。
對(duì)于8位數(shù)據(jù)幀,緩沖區(qū)為8位,只有寄存器的LSB(SPI_DR[7:0])用于發(fā)送/接收。在接收模式下,寄存器的MSB(SPI_DR[15:8])強(qiáng)制為0。
對(duì)于16位數(shù)據(jù)幀,緩沖區(qū)為16位,整個(gè)寄存器 SPI_DR[15:0]均用于發(fā)送/接收。

即SPI的MOSI及MISO都連接到數(shù)據(jù)移位寄存器上,數(shù)據(jù)移位寄存器的數(shù)
據(jù)來(lái)源來(lái)源于接收緩沖區(qū)及發(fā)送緩沖區(qū)。
通過(guò)寫(xiě)SPI的“數(shù)據(jù)寄存器DR”把數(shù)據(jù)填充到發(fā)送緩沖區(qū)中。
通過(guò)讀“數(shù)據(jù)寄存器DR”,可以獲取接收緩沖區(qū)中的內(nèi)容。
其中數(shù)據(jù)幀長(zhǎng)度可以通過(guò)“控制寄存器CR1”的“DFF位”配置成8位及16位
模式;配置“LSBFIRST位”可選擇MSB先行還是LSB先行。
整體控制邏輯(補(bǔ)充):
整體控制邏輯負(fù)責(zé)協(xié)調(diào)整個(gè)SPI外設(shè),控制邏輯的工作模式根據(jù)“控制寄存器(CR1/CR2)”的參數(shù)而改變,基本的控制參數(shù)包括前面提到的SPI模式、波特率、LSB先行、主從模式、單雙向模式等等。
在外設(shè)工作時(shí),控制邏輯會(huì)根據(jù)外設(shè)的工作狀態(tài)修改“狀態(tài)寄存器(SR)”,只要讀取狀態(tài)寄存器相關(guān)的寄存器位,就可以了解SPI的工作狀態(tài)了。除此之外,控制邏輯還根據(jù)要求,負(fù)責(zé)控制產(chǎn)生SPI中斷信號(hào)、DMA請(qǐng)求及控制NSS信號(hào)線。
實(shí)際應(yīng)用中,一般不使用STM32 SPI外設(shè)的標(biāo)準(zhǔn)NSS信號(hào)線,而是更簡(jiǎn)單地使用普通的GPIO,軟件控制它的電平輸出,從而產(chǎn)生通訊起始和停止信號(hào)。

通訊過(guò)程

注:讀操作時(shí),因?yàn)樾枰鳈C(jī)時(shí)鐘,所以會(huì)往發(fā)送緩沖區(qū)輸入一個(gè)數(shù)據(jù)來(lái)使主機(jī)產(chǎn)生時(shí)鐘,在輸入時(shí)產(chǎn)生時(shí)鐘時(shí)剛好接收到需要接收的數(shù)據(jù)。而因?yàn)槎x了接收模式,主機(jī)會(huì)忽略發(fā)送寄存器中儲(chǔ)存的數(shù)據(jù)是啥(數(shù)據(jù)是啥不重要)。
過(guò)程:
控制NSS信號(hào)線,產(chǎn)生起始信號(hào)(圖中沒(méi)有畫(huà)出);
把要發(fā)送的數(shù)據(jù)寫(xiě)入到“數(shù)據(jù)寄存器DR”中,該數(shù)據(jù)會(huì)被存儲(chǔ)到發(fā)送緩沖區(qū);
通訊開(kāi)始,SCK時(shí)鐘開(kāi)始運(yùn)行。MOSI把發(fā)送緩沖區(qū)中的數(shù)據(jù)一位一位地傳輸出去;MISO則把數(shù)據(jù)一位一位地存儲(chǔ)進(jìn)接收緩沖區(qū)中;
當(dāng)發(fā)送完一幀數(shù)據(jù)的時(shí)候,“狀態(tài)寄存器SR”中的“TXE標(biāo)志位”會(huì)被置1,表示傳輸完一幀,發(fā)送緩沖區(qū)已空;類(lèi)似地,當(dāng)接收完一幀數(shù)據(jù)的時(shí)候,“RXNE標(biāo)志位”會(huì)被置1,表示傳輸完一幀,接收緩沖區(qū)非空;
等待到“TXE標(biāo)志位”為1時(shí),若還要繼續(xù)發(fā)送數(shù)據(jù),則再次往“數(shù)據(jù)寄存器DR”寫(xiě)入數(shù)據(jù)即可;等待到“RXNE標(biāo)志位”為1時(shí),通過(guò)讀取“數(shù)據(jù)寄存器DR”可以獲取接收緩沖區(qū)中的內(nèi)容。
假如使能了TXE或RXNE中斷,TXE或RXNE置1時(shí)會(huì)產(chǎn)生SPI中斷信號(hào),進(jìn)入同一個(gè)中斷服務(wù)函數(shù),到SPI中斷服務(wù)程序后,可通過(guò)檢查寄存器
位來(lái)了解是哪一個(gè)事件,再分別進(jìn)行處理。也可以使用DMA方式來(lái)收發(fā)“數(shù)據(jù)寄存器DR”中的數(shù)據(jù)。
四、SPI的固件庫(kù)
1.初始化結(jié)構(gòu)體:

typedef struct {uint16_t SPI_Direction; /*設(shè)置SPI通訊方向*/uint16_t SPI_Mode; /*設(shè)置主機(jī)模式或從機(jī)模式*/uint16_t SPI_DataSize; /*設(shè)置數(shù)據(jù)幀長(zhǎng)度為8或16*/uint16_t SPI_CPOL; /*設(shè)置時(shí)鐘極性為高或低電平*/uint16_t SPI_CPHA; /*設(shè)置時(shí)鐘相性為高或低電平有效*/uint16_t SPI_NSS; /*設(shè)置NSS線引腳由SPI硬件控制還是軟件控制(一般設(shè)置為軟件控制)*/uint16_t SPI_BaudRatePrescaler; /*設(shè)置時(shí)鐘分頻因子,f(pclk)/分頻數(shù)=f(SCK)*/uint16_t SPI_FirstBit; /*設(shè)置MSB/LSB先行*/uint16_t SPI_CRCPolynomial; /*設(shè)置CRC校驗(yàn)方式*/ }SPI_InitTypeDef;

(1)SPI_Direction:
本成員設(shè)置SPI的通訊方向,可設(shè)置為雙線全雙工
(SPl_Direction_2Lines_FullDuplex);
雙線只接收(SPl_Direction_2Lines_RxOnly);
單線只接收(SPl_Direction_1Line_Rx);
單線只發(fā)送模式(SPIl_Direction_1Line_Tx)。
(2)SPl_Mode:
本成員設(shè)置SPI工作在主機(jī)模式(SPl_Mode_Master)或從機(jī)模式
(SPl_Mode_Slave ),這兩個(gè)模式的最大區(qū)別為SPI的SCK信號(hào)線的時(shí)序,SCK的時(shí)序是由通訊中的主機(jī)產(chǎn)生的。若被配置為從機(jī)模式,STM32的SPI外設(shè)將接受外來(lái)的SCK信號(hào)。
(3)SPI_DataSize:
本成員可以選擇SPI通訊的數(shù)據(jù)幀大小是為8位(SPl_DataSize_8b)還是16位(SPl_DataSize_16b)。
(4) SPl_CPOL和SPI_CPHA:
這兩個(gè)成員配置SPI的時(shí)鐘極性CPOL和時(shí)鐘相位CPHA,這兩個(gè)配置影響到SPI的通訊模式,時(shí)鐘極性CPOL成員,可設(shè)置為高電平(SPl_CPOL_High)或低電平(SPI_CPOL_Low )。
時(shí)鐘相位CPHA則可以設(shè)置為SPI_CPHA_1Edge(在SCK的奇數(shù)邊沿采集數(shù)據(jù))或SPl_CPHA_2Edge (在SCK的偶數(shù)邊沿采集數(shù)據(jù))。
(5)SPI_NSS:
本成員配置NSS引腳的使用模式,可以選擇為硬件模式(SPI_NSS_Hard )與軟件模式(SPI_NSS_Soft ),在硬件模式中的SPI片選信號(hào)由SPI硬件自動(dòng)產(chǎn)生,而軟件模式則需要親自把相應(yīng)的GPIO端口拉高或置低產(chǎn)生非片選和片選信號(hào)。(一般用軟件控制)
(6)SPI BaudRatePrescaler:
本成員設(shè)置波特率分頻因子,分頻后的時(shí)鐘即為SPI的SCK信號(hào)線的時(shí)鐘頻率。這個(gè)成員參數(shù)可設(shè)置為fpclk的2、4、6、8、16、32、64、128、256分
頻。
具體配置:

#define SPI_BaudRatePrescaler_2 ((uint16_t)0x0000) #define SPI_BaudRatePrescaler_4 ((uint16_t)0x0008) #define SPI_BaudRatePrescaler_8 ((uint16_t)0x0010) #define SPI_BaudRatePrescaler_16 ((uint16_t)0x0018) #define SPI_BaudRatePrescaler_32 ((uint16_t)0x0020) #define SPI_BaudRatePrescaler_64 ((uint16_t)0x0028) #define SPI_BaudRatePrescaler_128 ((uint16_t)0x0030) #define SPI_BaudRatePrescaler_256 ((uint16_t)0x0038)

(7)SPI_FirstBit:
所有串行的通訊協(xié)議都會(huì)有MSB先行(高位數(shù)據(jù)在前)還是LSB先行(低位數(shù)據(jù)在前)的問(wèn)題。

#define SPI_FirstBit_MSB ((uint16_t)0x0000) #define SPI_FirstBit_LSB ((uint16_t)0x0080)

(8)SPI_CRCPolynomial:
這是SPI的CRC校驗(yàn)中的多項(xiàng)式,若我們使用CRC校驗(yàn)時(shí),就使用這個(gè)
成員的參數(shù)(多項(xiàng)式),來(lái)計(jì)算CRC的值。
2.使能函數(shù)

SPI_Cmd(SPI1, ENABLE); //使能SPI外設(shè),以SPI1為例SPI1_ReadWriteByte(0xff);//啟動(dòng)傳輸

關(guān)于讀和寫(xiě),讀時(shí)會(huì)調(diào)用SPI_I2S_SendData(SPI_TypeDef* SPIx,unit16_t Data)
寫(xiě)時(shí)會(huì)調(diào)用SPI_I2S_RecieveData(SPI_TypeDef* SPIx,unit16_t Data)
五、Flash芯片(以W25Q128為例)

(一般可用SPI1控制該芯片)
PB3/PB4是JTAG引腳,因此如果用SPI1PB3接口時(shí),PB3、4將不能用于JTAG(下載引腳,20個(gè)信號(hào)線,速度快,但是占用引腳資源過(guò)多)使用。若要下載應(yīng)該在配置中將下載接口改成SWD接口(3個(gè)信號(hào)線)代替(或者按住復(fù)位按鍵先使程序不能順利初始化PB3等JTAG接口,下載時(shí)就可進(jìn)行)。

該Flash支持XIP功能,既可以存儲(chǔ)程序也可以運(yùn)行(合適主機(jī)條件下)。
①Flash 寫(xiě)入數(shù)據(jù)時(shí)和 EEPROM 類(lèi)似,不能跨頁(yè)寫(xiě)入,一次最多寫(xiě)入一頁(yè),W25Q128的一頁(yè)是 256 字節(jié)。
寫(xiě)入數(shù)據(jù)一旦跨頁(yè),必須在寫(xiě)滿上一頁(yè)的時(shí)候,等待 Flash 將數(shù)據(jù)從緩存搬移到非易失區(qū),重新再次往里寫(xiě)。
②Flash 有一個(gè)特點(diǎn),就是可以將 1 寫(xiě)成 0,但是不能將 0 寫(xiě)成 1,要想將 0 寫(xiě)成 1,必須進(jìn)行擦除操作。因此通常要改寫(xiě)某部分空間的數(shù)據(jù),必須首先進(jìn)行一定物理存儲(chǔ)空間擦除,最小的擦除空間為扇區(qū)(4096個(gè)字節(jié)/32KB/64KB一起擦除,一般按4KB/4096字節(jié)為單位擦除),扇區(qū)擦除就是將這整個(gè)扇區(qū)每個(gè)字節(jié)全部變成 0xFF,再將需要輸入的數(shù)據(jù)輸入相應(yīng)位置。

每款 Flash 的扇區(qū)大小不一定相同,W25Q128 的一個(gè)扇區(qū)是 4096 字節(jié)。為了提高擦除效率,使用不同的擦除指令還可以一次性進(jìn)行 32K(8 個(gè)區(qū))、64K(16 個(gè)扇區(qū))以及整片擦除。

SPI時(shí)鐘頻率為104MHz使用時(shí)將STM32設(shè)置為42MHz即可
HOLD or功能:主機(jī)和某一從機(jī)通訊時(shí),若另一個(gè)從機(jī)有緊急任務(wù)需要處理,就可用該功能,先完成緊急任務(wù)再進(jìn)行原從機(jī)通訊。

SPI的Flash存儲(chǔ)器結(jié)構(gòu):
(1)塊(Block),64KB

(2)Sector(扇區(qū)),4096Byte(4KB),一個(gè)塊由16個(gè)扇區(qū)組成,每個(gè)扇區(qū)又有16個(gè)頁(yè)(Page,256Byte),每次寫(xiě)入可以頁(yè)為單位,每次擦除以扇區(qū)為最小單位。

BUSY實(shí)現(xiàn)功能:(取自W25Q128手冊(cè))
BUSY is a read only bit in the status register (S0) that is set to a 1 state when the device is executing a Page Program,Quad Page Program, Sector Erase, Block Erase, Chip Erase, Write Status Register or Erase/Program Security Register instruction.During this time the device will ignore further instructions except for the Read Status Register and Erase/Program Suspend instruction (see tw, tPP, tSE, tBE, andtcE in AC Characteristics). When the program, erase or write status/security register instruction has completed,the BUSY bit will be cleared to a 0 state indicating the device is ready for furtherinstructions.

總結(jié)

以上是生活随笔為你收集整理的SPI协议的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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