




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
-*串行外設接口(SPI)小容量產(chǎn)品是指閃存存儲器容量在16K至32K字節(jié)之間的STM32F101xx、STM32F102xx和STM32F103xx微控制器。精品文檔放心下載中容量產(chǎn)品是指閃存存儲器容量在64K至128K字節(jié)之間的STM32F101xx、STM32F102xx感謝閱讀和STM32F103xx微控制器。大容量產(chǎn)品是指閃存存儲器容量在256K至512K字節(jié)之間的STM32F101xx和STM32F103xx微控制器。感謝閱讀互聯(lián)型產(chǎn)品是指STM32F105xx和STM32F107xx微控制器。除非特別說明,本章描述的模塊適用于整個STM32F10xxx微控制器系列。精品文檔放心下載23.1 SPI簡介在大容量產(chǎn)品和互聯(lián)型產(chǎn)品上,SPI接口可以配置為支持SPI協(xié)議或者支持I2S音頻協(xié)議。SPI接口默認工作在SPI方式,可以通過軟件把功能從SPI模式切換到I2S模式。謝謝閱讀在小容量和中容量產(chǎn)品上,不支持I2S音頻協(xié)議。串行外設接口(SPI)允許芯片與外部設備以半/全雙工、同步、串行方式通信。此接口可以被配置成主模式,并為外部從設備提供通信時鐘(SCK)。接口還能以多主配置方式工作。感謝閱讀它可用于多種用途,包括使用一條雙向數(shù)據(jù)線的雙線單工同步傳輸,還可使用CRC校驗的可靠通信。謝謝閱讀I2S也是一種3引腳的同步串行接口通訊協(xié)議。它支持四種音頻標準,包括飛利浦I2S標準,MSB和LSB對齊標準,以及PCM標準。它在半雙工通訊中,可以工作在主和從2種模式下。當它作為主設備時,通過接口向外部的從設備提供時鐘信號。精品文檔放心下載警告:由于SPI3/I2S3的部分引腳與JTAG引腳共享(SPI3_NSS/I2S3_WS與JTDI,SPI3_SCK/I2S3_CK與JTDO),因此這些引腳不受IO控制器控制,他們(在每次復位后)被默認保留為JTAG用途。如果用戶想把引腳配置給SPI3/I2S3,必須(在調(diào)試時)精品文檔放心下載關(guān)閉JTAG并切換至SWD接口,或者(在標準應用時)同時關(guān)閉JTAG和SWD接口。謝謝閱讀詳見第8.3.5節(jié):JTAG/SWD復用功能重映射。感謝閱讀23.2 SPI和I2S主要特征23.2.1 SPI特征3線全雙工同步傳輸帶或不帶第三根雙向數(shù)據(jù)線的雙線單工同步傳輸8或16位傳輸幀格式選擇主或從操作支持多主模式8個主模式波特率預分頻系數(shù)(最大為fPCLK/2)謝謝閱讀從模式頻率(最大為fPCLK/2)主模式和從模式的快速通信主模式和從模式下均可以由軟件或硬件進行NSS管理:主/從操作模式的動態(tài)改變精品文檔放心下載可編程的時鐘極性和相位可編程的數(shù)據(jù)順序,MSB在前或LSB在前可觸發(fā)中斷的專用發(fā)送和接收標志SPI總線忙狀態(tài)標志支持可靠通信的硬件CRC在發(fā)送模式下,CRC值可以被作為最后一個字節(jié)發(fā)送-*在全雙工模式中對接收到的最后一個字節(jié)自動進行CRC校驗謝謝閱讀可觸發(fā)中斷的主模式故障、過載以及CRC錯誤標志支持DMA功能的1字節(jié)發(fā)送和接收緩沖器:產(chǎn)生發(fā)送和接受請求精品文檔放心下載23.2.2 I2S功能● 單工通信(僅發(fā)送或接收)●主或者從操作8位線性可編程預分頻器,獲得精確的音頻采樣頻率(8KHz到96kHz)謝謝閱讀數(shù)據(jù)格式可以是16位,24位或者32位音頻信道固定數(shù)據(jù)包幀為16位(16位數(shù)據(jù)幀)或32位(16、24或32位數(shù)據(jù)幀)精品文檔放心下載可編程的時鐘極性(穩(wěn)定態(tài))從發(fā)送模式下的下溢標志位和主/從接收模式下的溢出標志位謝謝閱讀16位數(shù)據(jù)寄存器用來發(fā)送和接收,在通道兩端各有一個寄存器感謝閱讀支持的I2S協(xié)議:I2S飛利浦標準MSB對齊標準(左對齊)LSB對齊標準(右對齊)PCM標準(16位通道幀上帶長或短幀同步或者16位數(shù)據(jù)幀擴展為32位通道幀)精品文檔放心下載數(shù)據(jù)方向總是MSB在先發(fā)送和接收都具有DMA能力主時鐘可以輸出到外部音頻設備,比率固定為256xFs(Fs為音頻采樣頻率)感謝閱讀在互聯(lián)型產(chǎn)品中,兩個I2S模塊(I2S2和I2S3)有一個專用的PLL(PLL3),產(chǎn)生更加精準得時精品文檔放心下載鐘-*23.3 SPI功能描述23.3.1 概述SPI的方框圖見下圖。209SPI框圖通常SPI通過4個引腳與外部器件相連:MISO:主設備輸入/從設備輸出引腳。該引腳在從模式下發(fā)送數(shù)據(jù),在主模式下接收數(shù)據(jù)。謝謝閱讀MOSI:主設備輸出/從設備輸入引腳。該引腳在主模式下發(fā)送數(shù)據(jù),在從模式下接收數(shù)據(jù)。謝謝閱讀SCK:串口時鐘,作為主設備的輸出,從設備的輸入NSS:從設備選擇。這是一個可選的引腳,用來選擇主/從設備。它的功能是用來作為“片選引腳”,讓主設備可以單獨地與特定從設備通訊,避免數(shù)據(jù)線上的沖突。從設備的NSS引腳可以由主設備的一個標準I/O引腳來驅(qū)動。一旦被使能(SSOE位),NSS引腳也可以作為輸出引腳,并在SPI處于主模式時拉低;此時,所有的SPI設備,如果它們的NSS引腳連接到主設備的NSS引腳,則會檢測到低電平,如果它們被設置為NSS硬件模式,就會自動進入從設備狀態(tài)。當配置為主設備、NSS配置為輸入引腳(MSTR=1,SSOE=0)時,如果NSS被拉低,則這個SPI設備進入主模式失敗狀態(tài):即MSTR位被自動清除,此設備進入從模式(參見)感謝閱讀下圖是一個單主和單從設備互連的例子。-*圖210 單主和單從應用這里NSS引腳設置為輸入MOSI腳相互連接,MISO腳相互連接。這樣,數(shù)據(jù)在主和從之間串行地傳輸(MSB位在前)。感謝閱讀通信總是由主設備發(fā)起。主設備通過MOSI腳把數(shù)據(jù)發(fā)送給從設備,從設備通過MISO引腳回傳數(shù)據(jù)。這意味全雙工通信的數(shù)據(jù)輸出和數(shù)據(jù)輸入是用同一個時鐘信號同步的;時鐘信號由主設備通過SCK腳提供。精品文檔放心下載從選擇(NSS)腳管理2種NSS模式:軟件NSS模式:可以通過設置SPI_CR1寄存器的SSM位來使能這種模式(見圖211)。在這種模式下NSS引腳可以用作它用,而內(nèi)部NSS信號電平可以通過寫SPI_CR1的SSI位來驅(qū)動謝謝閱讀硬件NSS模式,分兩種情況:NSS輸出被使能:當STM32F10xxx工作為主SPI,并且NSS輸出已經(jīng)通過SPI_CR2精品文檔放心下載寄存器的SSOE位使能,這時NSS引腳被拉低,所有NSS引腳與這個主SPI的NSS引腳相連并配置為硬件NSS的SPI設備,將自動變成從SPI設備。當一個SPI設備需要發(fā)送廣播數(shù)據(jù),它必須拉低NSS信號,以通知所有其它的設備它是主設備;如果它不能拉低NSS,這意味著總線上有另外一個主設備在通信,這時將產(chǎn)生一個硬件失敗錯誤感謝閱讀(HardNSS輸Faul出被t)。關(guān)閉:允許操作于多主環(huán)境。感謝閱讀211硬件/軟件的從選擇管理1112016-08-0909:13:27--------------------------------------------謝謝閱讀在理解下啊時鐘信號的相位和極性SPI_CR寄存器的CPOL和CPHA位,能夠組合成四種可能的時序關(guān)系。CPOL(時鐘極性)位控制在沒有數(shù)據(jù)傳輸時時鐘的空閑狀態(tài)電平,此位對主模式和從模式下的設備都有效。如果CPOL被清’0’,SCK引腳在空閑狀態(tài)保持低電平;如果CPOL被置’1’,SCK引腳在空閑狀態(tài)保持高電平。謝謝閱讀如果CPHA(時鐘相位)位被置’1’,SCK時鐘的第二個邊沿(CPOL位為0時就是下降沿,CPOL位為’1’時就是上升沿)進行數(shù)據(jù)位的采樣,數(shù)據(jù)在第二個時鐘邊沿被鎖存。如果CPHA位被清’0’,SCK時鐘的第一邊沿(CPOL位為’0’時就是下降沿,CPOL位為’1’時就是上升沿)進行謝謝閱讀-*數(shù)據(jù)位采樣,數(shù)據(jù)在第一個時鐘邊沿被鎖存。-*注意:
CPOL時鐘極性和CPHA時鐘相位的組合選擇數(shù)據(jù)捕捉的時鐘邊沿。圖212顯示了SPI傳輸?shù)?種CPHA和CPOL位組合。此圖可以解釋為主設備和從設備的SCK腳、感謝閱讀MISO腳、MOSI腳直接連接的主或從時序圖。在改變CPOL/CPHA位之前,必須清除SPE位將SPI禁止。精品文檔放心下載主和從必須配置成相同的時序模式。SCK的空閑狀態(tài)必須和SPI_CR1寄存器指定的極性一(CPOL致為’1’時,空閑時應上拉SCK為高電平;CPOL為’0’時,空閑時應下拉SCK為低電平)。謝謝閱讀數(shù)據(jù)幀格式(8位或16位)由SPI_CR1寄存器的DFF位選擇,并且決定發(fā)/送接收的數(shù)據(jù)長度。謝謝閱讀圖212 數(shù)據(jù)時鐘時序圖數(shù)據(jù)幀格式根據(jù)SPI_CR1寄存器中的LSBFIRST位,輸出數(shù)據(jù)位時可以MSB在先也可以LSB在先。根據(jù)SPI_CR1寄存器的DFF位,每個數(shù)據(jù)幀可以是8位或是16位。所選擇的數(shù)據(jù)幀格式對發(fā)送和感謝閱讀/或接收都有效。-*23.3.2 配置SPI為從模式在從模式下,SCK引腳用于接收從主設備來的串行時鐘。SPI_CR1寄存器中BR[2:0]的設置不影響數(shù)據(jù)傳輸速率。精品文檔放心下載注: 建議在主設備發(fā)送時鐘之前使SPI能從設備,否則可能會發(fā)生意外的數(shù)據(jù)傳輸。在通信時鐘的謝謝閱讀第一個邊沿到來之前或正在進行的通信結(jié)束之前,從設備的數(shù)據(jù)寄存器必須就緒。在使能從設備和主設備之前,通信時鐘的極性必須處于穩(wěn)定的數(shù)值。感謝閱讀請按照以下步驟配置SPI為從模式:配置步驟設置DFF位以定義數(shù)據(jù)幀格式為8位或16位。謝謝閱讀選擇CPOL和CPHA位來定義數(shù)據(jù)傳輸和串行時鐘之間的相位關(guān)系(見圖212)。為保證正確的數(shù)據(jù)傳輸,從設備和主設備的CPOL和CPHA位必須配置成相同的方式。感謝閱讀幀格式(SPI_CR1寄存器中的LSBFIRST位定義的”MSB在前”還是”LSB在前”)必須與主設精品文檔放心下載相同。硬件模式下(參考從選擇(NSS)腳管理部分),在完整的數(shù)據(jù)幀(8位或16位)傳輸過程中,NSS引腳必須為低電平。在NSS軟件模式下,設置SPI_CR1寄存器中的SSM位并清除謝謝閱讀SSI位。清除MSTR位、設置SPE位(SPI_CR1寄存器),使相應引腳工作于SPI模式下。在這個配置中,MOSI引腳是數(shù)據(jù)輸入,MISO引腳是數(shù)據(jù)輸出。感謝閱讀數(shù)據(jù)發(fā)送過程在寫操作中,數(shù)據(jù)字被并行地寫入發(fā)送緩沖器。當從設備收到時鐘信號,并且在MOSI引腳上出現(xiàn)第一個數(shù)據(jù)位時,發(fā)送過程開始(譯注:此時第一個位被發(fā)送出去)。余下的位(對于8位數(shù)據(jù)幀格式,還有7位;對于16位數(shù)據(jù)幀格式,還有15位)被裝進移位寄存器。當發(fā)送緩沖器中的數(shù)據(jù)傳輸?shù)揭莆患拇嫫鲿r,SPI_SP寄存器的TXE標志被設置,如果設置了SPI_CR2寄存器的TXEIE位,將會產(chǎn)生中斷。感謝閱讀數(shù)據(jù)接收過程對于接收器,當數(shù)據(jù)接收完成時:● 移位寄存器中的數(shù)據(jù)傳送到接收緩沖器,SPI_SR寄存器中的RXNE標志被設置。感謝閱讀● 如果設置了SPI_CR2寄存器中的RXNEIE位,則產(chǎn)生中斷。感謝閱讀在最后一個采樣時鐘邊沿后,RXNE位被置’1’,移位寄存器中接收到的數(shù)據(jù)字節(jié)被傳送到接收緩沖器。當讀SPI_DR寄存器時,SPI設備返回這個接收緩沖器的數(shù)值。精品文檔放心下載SPI_DR寄存器時,RXNE位被清除。23.3.3 配置SPI為主模式在主配置時,在SCK腳產(chǎn)生串行時鐘。配置步驟通過SPI_CR1寄存器的BR[2:0]位定義串行時鐘波特率。精品文檔放心下載選擇CPOL和CPHA位,定義數(shù)據(jù)傳輸和串行時鐘間的相位關(guān)系(見圖212)。感謝閱讀設置DFF位來定義8位或16位數(shù)據(jù)幀格式。謝謝閱讀配置SPI_CR1寄存器的LSBFIRST位定義幀格式。感謝閱讀如果需要NSS引腳工作在輸入模式,硬件模式下,在整個數(shù)據(jù)幀傳輸期間應把NSS腳連謝謝閱讀到高電平;在軟件模式下,需設置SPI_CR1寄存器的SSM位和SSI位。如果NSS引腳工作在輸出模式,則只需設置SSOE位。感謝閱讀必須設置MSTR位和SPE位(只當NSS腳被連到高電平,這些位才能保持置位)。在這個配置中,MOSI引腳是數(shù)據(jù)輸出,而MISO引腳是數(shù)據(jù)輸入。感謝閱讀-*數(shù)據(jù)發(fā)送過程當寫入數(shù)據(jù)至發(fā)送緩沖器時,發(fā)送過程開始。在發(fā)送第一個數(shù)據(jù)位時,數(shù)據(jù)字被并行地(通過內(nèi)部總線)傳入移位寄存器,而后串行地移出到感謝閱讀MOSI腳上;MSB在先還是LSB在先,取決于SPI_CR1寄存器中的LSBFIRST位的設置。數(shù)據(jù)從感謝閱讀發(fā)送緩沖器傳輸?shù)揭莆患拇嫫鲿rTXE標志將被置位,如果設置了SPI_CR1寄存器中的TXEIE位,將產(chǎn)生中斷。感謝閱讀數(shù)據(jù)接收過程對于接收器來說,當數(shù)據(jù)傳輸完成時:●傳送移位寄存器里的數(shù)據(jù)到接收緩沖器,并且RXNE標志被置位。謝謝閱讀●如果設置了SPI_CR2寄存器中的RXNEIE位,則產(chǎn)生中斷。在最后采樣時鐘沿,RXNE位被設置,在移位寄存器中接收到的數(shù)據(jù)字被傳送到接收緩沖器。讀精品文檔放心下載SPI_DR寄存器時,SPI設備返回接收緩沖器中的數(shù)據(jù)。謝謝閱讀SPI_DR寄存器將清除RXNE位。一旦傳輸開始,如果下一個將發(fā)送的數(shù)據(jù)被放進了發(fā)送緩沖器,就可以維持一個連續(xù)的傳輸流。在試圖寫發(fā)送緩沖器之前,需確認TXE標志應該為’1’。感謝閱讀注:在NSS硬件模式下,從設備的NSS輸入由NSS引腳控制或另一個由軟件驅(qū)動GPIO的引腳控制。謝謝閱讀23.3.4 配置SPI為單工通信SPI模塊能夠以兩種配置工作于單工方式:1條時鐘線和1條雙向數(shù)據(jù)線;1條時鐘線和1條數(shù)據(jù)線(只接收或只發(fā)送);1條時鐘線和1條雙向數(shù)據(jù)線(BIDIMODE=1)設置SPI_CR1寄存器中的BIDIMODE位而啟用此模式。在這個模式下,SCK引腳作為時鐘,主設備使用MOSI引腳而從設備使用MISO引腳作為數(shù)據(jù)通信。傳輸?shù)姆较蛴蒘PI_CR1寄存器里的精品文檔放心下載BIDIOE控制,當這個位是’1’的時候,數(shù)據(jù)線是輸出,否則是輸入。感謝閱讀1條時鐘和1條單向數(shù)據(jù)線(BIDIMODE=0)謝謝閱讀在這個模式下,SPI模塊可以或者作為只發(fā)送,或者作為只接收。感謝閱讀●只發(fā)送模式類似于全雙工模式(BIDIMODE=0,RXONLY=0):數(shù)據(jù)在發(fā)送引腳(主模式時是MOSI、從模式時是MISO)上傳輸,而接收引腳(主模式時是MISO、從模式時是MOSI)可以作為通用的I/O使用。此時,軟件不必理會接收緩沖器中的數(shù)據(jù)(如果讀出數(shù)據(jù)寄存器,它不包含任何接收數(shù)據(jù))。精品文檔放心下載●在只接收模式,可以通過設置SPI_CR2寄存器的RXONLY位而關(guān)閉SPI的輸出功能;此時,感謝閱讀發(fā)送引腳(主模式時是MOSI、從模式時是MISO)被釋放,可以作為其它功能使用。精品文檔放心下載配置并使能SPI模塊為只接收模式的方式是:●在主模式時,一旦使能SPI,通信立即啟動,當清除SPE位時立即停止當前的接收。在此模謝謝閱讀式下,不必讀取BSY標志,在SPI通信期間這個標志始終為’1’。精品文檔放心下載●在從模式時,只要NSS被拉低(或在NSS軟件模式時,SSI位為’0’)同時SCK有時鐘脈沖,SPI就一直在接收。精品文檔放心下載23.3.5 數(shù)據(jù)發(fā)送與接收過程接收與發(fā)送緩沖器在接收時,接收到的數(shù)據(jù)被存放在一個內(nèi)部的接收緩沖器中;在發(fā)送時,在被發(fā)送之前,數(shù)據(jù)將首先被存放在一個內(nèi)部的發(fā)送緩沖器中。感謝閱讀SPI_DR寄存器的讀操作,將返回接收緩沖器的內(nèi)容;寫入SPI_DR寄存器的數(shù)據(jù)將被寫入發(fā)送緩沖器中。謝謝閱讀-*主模式下開始傳輸●全雙工模式(BIDIMODE=0并且RXONLY=0)謝謝閱讀當寫入數(shù)據(jù)到SPI_DR寄存器(發(fā)送緩沖器)后,傳輸開始;感謝閱讀在傳送第一位數(shù)據(jù)的同時,數(shù)據(jù)被并行地從發(fā)送緩沖器傳送到8位的移位寄存器中,然后按順序被串行地移位送到MOSI引腳上;感謝閱讀與此同時,在MISO引腳上接收到的數(shù)據(jù),按順序被串行地移位進入8位的移位寄存謝謝閱讀中,然后被并行地傳送到SPI_DR寄存器(接收緩沖器)中。謝謝閱讀單向的只接收模式(BIDIMODE=0并且RXONLY=1)感謝閱讀SPE=1時,傳輸開始;只有接收器被激活,在MISO引腳上接收到的數(shù)據(jù),按順序被串行地移位進入8位的移位寄存器中,然后被并行地傳送到SPI_DR寄存器(接收緩沖器)中。謝謝閱讀雙向模式,發(fā)送時(BIDIMODE=1并且BIDIOE=1)謝謝閱讀當寫入數(shù)據(jù)到SPI_DR寄存器(發(fā)送緩沖器)后,傳輸開始;精品文檔放心下載在傳送第一位數(shù)據(jù)的同時,數(shù)據(jù)被并行地從發(fā)送緩沖器傳送到8位的移位寄存器中,謝謝閱讀然后按順序被串行地移位送到MOSI引腳上;不接收數(shù)據(jù)。雙向模式,接收時(BIDIMODE=1并且BIDIOE=0)謝謝閱讀SPE=1并且BIDIOE=0時,傳輸開始;在MOSI引腳上接收到的數(shù)據(jù),按順序被串行地移位進入8位的移位寄存器中,然后被并行地傳送到SPI_DR寄存器(接收緩沖器)中。謝謝閱讀不激活發(fā)送器,沒有數(shù)據(jù)被串行地送到MOSI引腳上。精品文檔放心下載從模式下開始傳輸●全雙工模式(BIDIMODE=0并且RXONLY=0)謝謝閱讀當從設備接收到時鐘信號并且第一個數(shù)據(jù)位出現(xiàn)在它的MOSI時,數(shù)據(jù)傳輸開始,感謝閱讀后的數(shù)據(jù)位依次移動進入移位寄存器;與此同時,在傳輸?shù)谝粋€數(shù)據(jù)位時,發(fā)送緩沖器中的數(shù)據(jù)被并行地傳送到8位的移位寄存器,隨后被串行地發(fā)送到MISO引腳上。軟件必須保證在SPI主設備開始數(shù)據(jù)傳輸之前在發(fā)送寄存器中寫入要發(fā)送的數(shù)據(jù)。精品文檔放心下載單向的只接收模式(BIDIMODE=0并且RXONLY=1)精品文檔放心下載當從設備接收到時鐘信號并且第一個數(shù)據(jù)位出現(xiàn)在它的MOSI時,數(shù)據(jù)傳輸開始,精品文檔放心下載后數(shù)據(jù)位依次移動進入移位寄存器;不啟動發(fā)送器,沒有數(shù)據(jù)被串行地傳送到MISO引腳上。謝謝閱讀雙向模式,發(fā)送時(BIDIMODE=1并且BIDIOE=1)精品文檔放心下載當從設備接收到時鐘信號并且發(fā)送緩沖器中的第一個數(shù)據(jù)位被傳送到MISO引腳上的時候,數(shù)據(jù)傳輸開始;謝謝閱讀在第一個數(shù)據(jù)位被傳送到MISO引腳上的同時,發(fā)送緩沖器中要發(fā)送的數(shù)據(jù)被平行地傳送到8位的移位寄存器中,隨后被串行地發(fā)送到MISO引腳上。軟件必須保證在SPI主設備開始數(shù)據(jù)傳輸之前在發(fā)送寄存器中寫入要發(fā)送的數(shù)據(jù);感謝閱讀不接收數(shù)據(jù)。雙向模式,接收時(BIDIMODE=1并且BIDIOE=0)謝謝閱讀當從設備接收到時鐘信號并且第一個數(shù)據(jù)位出現(xiàn)在它的MOSI時,數(shù)據(jù)傳輸開始;精品文檔放心下載從MISO引腳上接收到的數(shù)據(jù)被串行地傳送到8位的移位寄存器中,然后被平行地傳送到SPI_DR寄存器(接收緩沖器);精品文檔放心下載不啟動發(fā)送器,沒有數(shù)據(jù)被串行地傳送到MISO引腳上。精品文檔放心下載-*處理數(shù)據(jù)的發(fā)送與接收當數(shù)據(jù)從發(fā)送緩沖器傳送到移位寄存器時,設置TXE標志(發(fā)送緩沖器空),它表示內(nèi)部的發(fā)送緩沖器可以接收下一個數(shù)據(jù);如果在SPI_CR2寄存器中設置了TXEIE位,則此時會產(chǎn)生一個中斷;寫入SPI_DR寄存器即可清除TXE位。謝謝閱讀注:
在寫入發(fā)送緩沖器之前,軟件必須確TXE認標志為’1’,否則新的數(shù)據(jù)會覆蓋已經(jīng)在發(fā)送緩沖器謝謝閱讀中的數(shù)據(jù)。Txe為0時發(fā)送新數(shù)據(jù)在采樣時鐘的最后一個邊沿,當數(shù)據(jù)被從移位寄存器傳送到接收緩沖器時,設置RXNE標志(接收緩沖器非空);它表示數(shù)據(jù)已經(jīng)就緒,可以從SPI_DR寄存器讀出;如果在SPI_CR2寄存器中設置了RXNEIE位,則此時會產(chǎn)生一個中斷;讀出SPI_DR寄存器即可清除RXNIE標志位。精品文檔放心下載在一些配置中,傳輸最后一個數(shù)據(jù)時,可以使用BSY標志等待數(shù)據(jù)傳輸?shù)慕Y(jié)束。主或從模式精品文檔放心下載下(BIDIMODE=0并且RXONLY=0)全雙工發(fā)送和接收過程模式軟件必須遵循下述過程,謝謝閱讀發(fā)送和接收數(shù)據(jù)(見圖213和圖214):設置SPE位為’1’,使能SPI模塊;在SPI_DR寄存器中寫入第一個要發(fā)送的數(shù)據(jù),這個操作會清除TXE標志;精品文檔放心下載等待TXE=1,然后寫入第二個要發(fā)送的數(shù)據(jù)。等待RXNE=1,然后讀出SPI_DR寄存器精品文檔放心下載獲得第一個接收到的數(shù)據(jù),讀SPI_DR的同時清除了RXNE位。重復這些操作,發(fā)送后續(xù)的數(shù)據(jù)同時接收n-1個數(shù)據(jù);感謝閱讀等待RXNE=1,然后接收最后一個數(shù)據(jù);等待TXE=1,在BSY=0之后關(guān)閉SPI模塊。也可以在響應RXNE或TXE標志的上升沿產(chǎn)生的中斷的處理程序中實現(xiàn)這個過程。感謝閱讀213主模式、全雙工模式下(BIDIMODE=0并且RXONLY=0)連續(xù)傳輸時,TXE/RXNE/BSY的變化示意圖謝謝閱讀-*214從模式、全雙工模式下(BIDIMODE=0并且RXONLY=0)連續(xù)傳輸時,TXE/RXNE/BSY的變化示意圖精品文檔放心下載只發(fā)送過程(BIDIMODE=0并且RXONLY=0)謝謝閱讀在此模式下,傳輸過程可以簡要說明如下,使用BSY位等待傳輸?shù)慕Y(jié)束(見圖215和圖216):謝謝閱讀設置SPE位為’1’,使能SPI模塊;在SPI_DR寄存器中寫入第一個要發(fā)送的數(shù)據(jù),這個操作會清除TXE標志;謝謝閱讀等待TXE=1,然后寫入第二個要發(fā)送的數(shù)據(jù)。重復這個操作,發(fā)送后續(xù)的數(shù)據(jù);感謝閱讀寫入最后一個數(shù)據(jù)到SPI_DR寄存器之后,等待TXE=1;然后等待BSY=0,這表示最后一個數(shù)據(jù)的傳輸已經(jīng)完成。感謝閱讀也可以在響應TXE標志的上升沿產(chǎn)生的中斷的處理程序中實現(xiàn)這個過程。謝謝閱讀注:1.對于不連續(xù)的傳輸,在寫SPI入_DR寄存器的操作與設置BSY位之間有2個APB時鐘周期的延遲,因此在只發(fā)送模式下,寫入最后一個數(shù)據(jù)后,最好先TXE=1等待,然后再等待BSY=0。精品文檔放心下載2.只發(fā)送模式下,在傳輸2個數(shù)據(jù)之后,由于不會讀出接收到的數(shù)SPI據(jù),SR寄存器中的OVR位會變?yōu)椤?’。(譯注:軟件不必理會這個OVR標志位)感謝閱讀215主設備只發(fā)送模式(BIDIMODE=0并且RXONLY=0)下連續(xù)傳輸時,,TXE/BSY變化示意圖感謝閱讀-*216從設備只發(fā)送模式(BIDIMODE=0并且RXONLY=0)下連續(xù)傳輸時,TXE/BSY變化示意圖精品文檔放心下載雙向發(fā)送過程(BIDIMODE=1并且BIDIOE=1)謝謝閱讀在此模式下,操作過程類似于只發(fā)送模式,不同的是:在使能SPI模塊之前,需要在SPI_CR2精品文檔放心下載寄存器中同時設置BIDIMODE和BIDIOE位為’1’。單向只接收模式(BIDIMODE=0并且精品文檔放心下載RXONLY=1)在此模式下,傳輸過程可以簡要說明如下(見):在SPI_CR2寄存器中,設置RXONLY=1;謝謝閱讀設置SPE=1,使能SPI模塊:主模式下,立刻產(chǎn)生SCK時鐘信號,在關(guān)閉SPI(SPE=0)之前,不斷地接收串行數(shù)據(jù);謝謝閱讀從模式下,當SPI主設備拉低NSS信號并產(chǎn)生SCK時鐘時,接收串行數(shù)據(jù)。謝謝閱讀等待RXNE=1,然后讀出SPI_DR寄存器以獲得收到的數(shù)據(jù)(同時會清除RXNE位)。重復謝謝閱讀這個操作接收所有數(shù)據(jù)。也可以在響應RXNE標志的上升沿產(chǎn)生的中斷的處理程序中實現(xiàn)這個過程。謝謝閱讀注: 如果在最后一個數(shù)據(jù)傳輸結(jié)束后關(guān)閉SPI模塊,請按照第23.3.8節(jié)的建議操作。精品文檔放心下載217只接收模式(BIDIMODE=0并且RXONLY=1)下連續(xù)傳輸時,RXNE變化示意圖感謝閱讀單向接收過程(BIDIMODE=1并且BIDIOE=0)精品文檔放心下載在此模式下,操作過程類似于只接收模式,不同的是:在使能SPI模塊之前,需要在SPI_CR2寄存器中設置BIDIMODE為’1’并清除BIDIOE位為’0’。謝謝閱讀連續(xù)和非連續(xù)傳輸當在主模式下發(fā)送數(shù)據(jù)時,如果軟件足夠快,能夠在檢測到每次TXE的上升沿(或TXE中斷),并立即在正在進行的傳輸結(jié)束之前寫入SPI_DR寄存器,則能夠?qū)崿F(xiàn)連續(xù)的通信;此時,在每個數(shù)據(jù)項的傳輸之間的SPI時鐘保持連續(xù),同時BSY位不會被清除。謝謝閱讀-*如果軟件不夠快,則會導致不連續(xù)的通信;這時,在每個數(shù)據(jù)傳輸之間會被清除(見下圖)。在主模式的只接收模式下(RXONLY=1),通信總是連續(xù)的,而且BSY標志始終為’1’。感謝閱讀在從模式下,通信的連續(xù)性由SPI主設備決定。不管怎樣,即使通信是連續(xù)的,BSY標志會在每個數(shù)據(jù)項之間至少有一個SPI時鐘周期為低(見圖216)。精品文檔放心下載218非連續(xù)傳輸發(fā)送(BIDIMODE=0并且RXONLY=0)時,TXE/BSY變化示意圖感謝閱讀23.3.6 CRC計算CRC校驗用于保證全雙工通信的可靠性。數(shù)據(jù)發(fā)送和數(shù)據(jù)接收分別使用單獨的CRC計算器。通過對每一個接收位進行可編程的多項式運算來計算CRC。CRC的計算是在由SPI_CR1寄存器中CPHA和CPOL位定義的采樣時鐘邊沿進行的。謝謝閱讀注意:該SPI接口提供了兩種CRC計算方法,取決于所選的發(fā)送/或和接收的數(shù)據(jù)幀格式8:位數(shù)據(jù)幀采用CR8;16位數(shù)據(jù)幀采用CRC16。精品文檔放心下載CRC計算是通過設置SPI_CR1寄存器中的CRCEN位啟用的。設置CRCEN位時同時復位謝謝閱讀CRC寄存器(SPI_RXCRCR和SPI_TXCRCR)。當設置了SPI_CR1的CRCNEXT位,謝謝閱讀SPI_TXCRCR的內(nèi)容將在當前字節(jié)發(fā)送之后發(fā)出。在傳輸SPI_TXCRCR的內(nèi)容時,如果在移位寄存器中收到的數(shù)值與SPI_RXCRCR的內(nèi)容不匹配,則SPI_SR寄存器的CRCERR標志位被置1。感謝閱讀如果在TX緩沖器中還有數(shù)據(jù),CRC的數(shù)值僅在數(shù)據(jù)字節(jié)傳輸結(jié)束后傳送。在傳輸CRC期間,CRC計算器關(guān)閉,寄存器的數(shù)值保持不變。謝謝閱讀注意:請參考產(chǎn)品說明書,以確認有此功能(不是所有型號都有此功能)。謝謝閱讀SPI通信可以通過以下步驟使用CRC:● 設置CPOL、CPHA、LSBFirst、BR、SSM、SSI和MSTR的值;謝謝閱讀●在SPI_CRCPR寄存器輸入多項式;●通過設置SPI_CR1寄存器CRCEN位使能CRC計算,該操作也會清除寄存器謝謝閱讀SPI_RXCRCR和SPI_TXCRC;● 設置SPI_CR1寄存器的SPE位啟動SPI功能;精品文檔放心下載●啟動通信并且維持通信,直到只剩最后一個字節(jié)或者半字;精品文檔放心下載●在把最后一個字節(jié)或半字寫進發(fā)送緩沖器時,設置SPI_CR1的CRCNext位,指示硬件在發(fā)謝謝閱讀送完成最后一個數(shù)據(jù)之后,發(fā)送CRC的數(shù)值。在發(fā)送CRC數(shù)值期間,停止CRC計算;●當最后一個字節(jié)或半字被發(fā)送后,SPI發(fā)送CRC數(shù)值,CRCNext位被清除。同樣,接收到感謝閱讀CRC與SPI_RXCRCR值進行比較,如果比較不相配,則設置SPI_SR上的CRCERR標精品文檔放心下載志位,當設置了SPI_CR2寄存器的ERRIE時,則產(chǎn)生中斷。感謝閱讀-*注意:當SPI模塊處于從設備模式時,請注意在時鐘穩(wěn)定之后再CRC使能計算,否則可能會得到錯誤精品文檔放心下載CRC計算結(jié)果。事實上,只要設置CRCEN了位,只要在SCK引腳上有輸入時鐘,不管SPE位的狀態(tài),都會進行CRC的計算。謝謝閱讀SPI時鐘頻率較高時,用戶在發(fā)CRC送時必須小心。在CRC傳輸期間,使用CPU的時間應盡可能少;為了避免在接收最后的數(shù)據(jù)CRC和時出錯,在發(fā)送CRC過程中應禁止函數(shù)調(diào)用。必須在發(fā)送/接收最后一個數(shù)據(jù)之前完成設置CRCNEXT位的操作。感謝閱讀SPI時鐘頻率較高時,因為CPU的操作會影響SPI的帶寬,建議采用DMA模式以避免SPI降低的速度。感謝閱讀STM32F10xxx配置為從模式并且使用NSS了硬件模式,NSS引腳應該在數(shù)據(jù)傳輸和CRC傳輸期間保持為低。感謝閱讀當配置SPI為從模式并且使用CRC的功能,即使NSS引腳為高時仍然會執(zhí)行CRC的計算(譯注:當NSS信號為高時,如果SCK引腳上有時鐘脈沖,則CRC計算會繼續(xù)執(zhí)行)。例如:當主設備交替地與多個從設備進行通信時,將會出現(xiàn)這種情況(譯注:此時要想辦法避免CRC的誤操作)。精品文檔放心下載在不選中一個從設備(NSS信號為高)轉(zhuǎn)換到選中一個新的從設備(NSS信號為低)的時候,為了保持主從設備端下次CRC計算結(jié)果的同步,應該清除主從兩端的CRC數(shù)值。感謝閱讀按照下述步驟清除CRC數(shù)值:關(guān)閉SPI模塊(SPE=0);清除CRCEN位為’0’;設置CRCEN位為’1’;使能SPI模塊(SPE=1)。23.3.7 狀態(tài)標志應用程序通過3個狀態(tài)標志可以完全監(jiān)控SPI總線的狀態(tài)。精品文檔放心下載發(fā)送緩沖器空閑標志(TXE)此標志為’1’時表明發(fā)送緩沖器為空,可以寫下一個待發(fā)送的數(shù)據(jù)進入緩沖器中。當寫入SPI_DR時,TXE標志被清除。精品文檔放心下載接收緩沖器非空(RXNE)此標志為’1’時表明在接收緩沖器中包含有效的接收數(shù)據(jù)。讀SPI精品文檔放心下載數(shù)據(jù)寄存器可以清除此標志。忙(Busy)標志BSY標志由硬件設置與清除(寫入此位無效果),此標志表明SPI通信層的狀態(tài)。謝謝閱讀當它被設置為’1’時,表明SPI正忙于通信,但有一個例外:在主模式的雙向接收模式下(MSTR=1、BDM=1并且BDOE=0),在接收期間BSY標志保持為低。精品文檔放心下載在軟件要關(guān)閉SPI模塊并進入停機模式(或關(guān)閉設備時鐘)之前,可以使用BSY標志檢測傳輸是否結(jié)束,這樣可以避免破壞最后一次傳輸,因此需要嚴格按照下述過程執(zhí)行。感謝閱讀BSY標志還可以用于在多主系統(tǒng)中避免寫沖突。除了主模式的雙向接收模式(MSTR=1、BDM=1并且BDOE=0),當傳輸開始時,BSY標志被置’1’。謝謝閱讀以下情況時此標志將被清除為’0’:●當傳輸結(jié)束(主模式下,如果是連續(xù)通信的情況例外);感謝閱讀●當關(guān)閉SPI模塊;●當產(chǎn)生主模式失效(MODF=1)。如果通信不是連續(xù)的,則在每個數(shù)據(jù)項的傳輸之間,BSY標志為低。當通信是連續(xù)時:謝謝閱讀● 主模式下:在整個傳輸過程中,BSY標志保持為高;精品文檔放心下載●從模式下:在每個數(shù)據(jù)項的傳輸之間,BSY標志在一個SPI時鐘周期中為低。感謝閱讀-*注: 不要使用BSY標志處理每一個數(shù)據(jù)項的發(fā)送和接收,最好使用TXE和RXNE標志。謝謝閱讀23.3.8 關(guān)閉SPI當通訊結(jié)束,可以通過關(guān)閉SPI模塊來終止通訊。清除SPE位即可關(guān)閉SPI。謝謝閱讀在某些配置下,如果再傳輸還未完成時,就關(guān)閉SPI模塊并進入停機模式,則可能導致當前的傳輸被破壞,而且BSY標志也變得不可信。精品文檔放心下載為了避免發(fā)生這種情況,關(guān)閉SPI模塊時,建議按照下述步驟操作:謝謝閱讀在主或從模式下的全雙工模式(BIDIMODE=0,RXONLY=0)精品文檔放心下載等待RXNE=1并接收最后一個數(shù)據(jù);等待TXE=1;等待BSY=0;關(guān)閉SPI(SPE=0),最后進入停機模式(或關(guān)閉該模塊的時鐘)。在主或從模式下的單向感謝閱讀只發(fā)送模式(BIDIMODE=0,RXONLY=0)或雙向的發(fā)送模式(BIDIMODE=1,BIDIOE=1)精品文檔放心下載SPI_DR寄存器中寫入最后一個數(shù)據(jù)后:等待TXE=1;等待BSY=0;關(guān)閉SPI(SPE=0),最后進入停機模式(或關(guān)閉該模塊的時鐘)。在主或從模式下的單向感謝閱讀只接收模式(MSTR=1,BIDIMODE=0,RXONLY=1)或雙向的接收模式(MSTR=1,BIDIMODE=1,BIDIOE=0)精品文檔放心下載這種情況需要特別地處理,以保證SPI不會開始一次新的傳輸:精品文檔放心下載等待倒數(shù)第二個(第n-1個)RXNE=1;在關(guān)閉SPI(SPE=0)之前等待一個SPI時鐘周期(使用軟件延遲);謝謝閱讀在進入停機模式(或關(guān)閉該模塊的時鐘)之前等待最后一個RXNE=1。感謝閱讀注: 在主模式下的單向只發(fā)送模(MSTR=1式,BDM=1,BDOE=0)時,傳輸過程中BSY標志始終為低。精品文檔放心下載在從模式下的只接收模式(MSTR=0,BIDIMODE=0,RXONLY=1)或雙向的接收模式(MSTR=0,BIDIMODE=1,BIDIOE=0)謝謝閱讀可以在任何時候關(guān)閉SPI(SPE=0),SPI會在當前的傳輸結(jié)束后被關(guān)閉;謝謝閱讀如果希望進入停機模式,在進入停機模式(或關(guān)閉該模塊的時鐘)之前必須首先等待感謝閱讀BSY=0。23.3.9 利用DMA的SPI通信為了達到最大通信速度,需要及時往SPI發(fā)送緩沖器填數(shù)據(jù),同樣接收緩沖器中的數(shù)據(jù)也必須及時讀走以防止溢出。為了方便高速率的數(shù)據(jù)傳輸,SPI實現(xiàn)了一種采用簡單的請求/應答的DMA機制。感謝閱讀SPI_CR2寄存器上的對應使能位被設置時,SPI模塊可以發(fā)出DMA傳輸請求。發(fā)送緩沖器和接收緩沖器亦有各自的DMA請求(見)。精品文檔放心下載●發(fā)送時,在每次TXE被設置為’1’時發(fā)出DMA請求,DMA控制器則寫數(shù)據(jù)至SPI_DR寄存謝謝閱讀器,TXE標志因此而被清除。●接收時,在每次RXNE被設置為’1’時發(fā)出DMA請求,DMA控制器則從SPI_DR寄存器讀出精品文檔放心下載數(shù)據(jù),RXNE標志因此而被清除。當只使用SPI發(fā)送數(shù)據(jù)時,只需使能SPI的發(fā)送DMA通道。此時,因為沒有讀取收到的數(shù)據(jù),OVR被置為’1’(譯注:軟件不必理會這個標志)。當只使用SPI接收數(shù)據(jù)時,只需使能SPI的接謝謝閱讀DMA通道。-*在發(fā)送模式下,當DMA已經(jīng)傳輸了所有要發(fā)送的數(shù)據(jù)(DMA_ISR寄存器的TCIF標志變?yōu)椤?’)后,可以通過監(jiān)視BSY標志以確認SPI通信結(jié)束,這樣可以避免在關(guān)閉SPI或進入停止模式時,破壞最后一個數(shù)據(jù)的傳輸。因此軟件需要先等待TXE=1,然后等待BSY=0。感謝閱讀注: 在不連續(xù)的通信中,在寫數(shù)據(jù)SPI到_DR的操作與BSY位被置為’1’之間,有2個APB時鐘周期的延遲,因此,在寫完最后一個數(shù)據(jù)后需要先等待TXE=1再等待BSY=0。精品文檔放心下載219使用DMA發(fā)送220使用DMA接收CRC的DMA功能當使能SPI使用CRC檢驗并且啟用DMA模式時,在通信結(jié)束時,CRC字節(jié)的發(fā)送和接收是自動完成的。精品文檔放心下載數(shù)據(jù)和CRC傳輸結(jié)束時,SPI_SR寄存器的CRCERR標志為’1’表示在傳輸期間發(fā)生錯誤。感謝閱讀-*23.3.10錯誤標志主模式失效錯誤(MODF)主模式失效僅發(fā)生在:NSS引腳硬件模式管理下,主設備的NSS腳被拉低;或者在NSS引腳軟件模式管理下,SSI位被置為’0’時;MODF位被自動置位。主模式失效對SPI設備有以下影響:謝謝閱讀MODF位被置為’1’,如果設置了ERRIE位,則產(chǎn)生SPI中斷;謝謝閱讀SPE位被清為’0’。這將停止一切輸出,并且關(guān)閉SPI接口;感謝閱讀MSTR位被清為’0’,因此強迫此設備進入從模式。下面的步驟用于清除MODF位:精品文檔放心下載當MODF位被置為’1’時,執(zhí)行一次對SPI_SR寄存器的讀或?qū)懖僮?;謝謝閱讀然后寫SPI_CR1寄存器。在有多個MCU的系統(tǒng)中,為了避免出現(xiàn)多個從設備的沖突,必須先拉高該主設備的NSS腳,再對MODF位進行清零。在完成清零之后,SPE和MSTR位可以恢復到它們的原始狀態(tài)。精品文檔放心下載出于安全的考慮,當MODF位為’1’時,硬件不允許設置SPE和MSTR位。通常配置下,從設謝謝閱讀備的MODF位不能被置為’1’。然而,在多主配置里,一個設備可以在設置了感謝閱讀MODF位的情況下,處于從設備模式;此時,MODF位表示可能出現(xiàn)了多主沖突。中斷程序可以執(zhí)行一個復位或返回到默認狀態(tài)來從錯誤狀態(tài)中恢復。謝謝閱讀溢出錯誤當主設備已經(jīng)發(fā)送了數(shù)據(jù)字節(jié),而從設備還沒有清除前一個數(shù)據(jù)字節(jié)產(chǎn)生的RXNE時,即為溢出錯誤。當產(chǎn)生溢出錯誤時:謝謝閱讀●OVR位被置為’1’;當設置了ERRIE位時,則產(chǎn)生中斷。精品文檔放心下載此時,接收器緩沖器的數(shù)據(jù)不是主設備發(fā)送的新數(shù)據(jù),讀SPI_DR寄存器返回的是之前未讀的數(shù)據(jù),所有隨后傳送的數(shù)據(jù)都被丟棄。精品文檔放心下載依次讀出SPI_DR寄存器和SPI_SR寄存器可將OVR清除。謝謝閱讀CRC錯誤當設置了SPI_CR寄存器上的CRCEN位時,CRC錯誤標志用來核對接收數(shù)據(jù)的有效性。如果移位寄存器中接收到的值(發(fā)送方發(fā)送的SPI_TXCRCR數(shù)值)與接收方SPI_RXCRCR寄存器中的數(shù)精品文檔放心下載值不匹配,則SPI_SR寄存器上的CRCERR標志被置位為’1’。精品文檔放心下載23.3.11SPI中斷166SPI中斷請求中斷事件事件標志使能控制位發(fā)送緩沖器空標志TXETXEIE接收緩沖器非空標志RXNERXNEIE主模式失效事件MODF溢出錯誤OVRERRIECRC錯誤標志CRCERR-*23.4 I2S功能描述小容量和中容量的STM32不支持I2S音頻協(xié)議。本節(jié)僅適用于大容量產(chǎn)品和互聯(lián)型產(chǎn)品。精品文檔放心下載23.4.1 I2S功能描述I2S的框圖如下圖所示:I2S框圖221通過將寄存器SPI_I2SCFGR的I2SMOD位置為’1’,即可使能I2S功能。此時,可以把SPI模塊用感謝閱讀I2S音頻接口。I2S接口與SPI接口使用大致相同的引腳、標志和中斷。I2S與SPI共用3個引腳:精品文檔放心下載●SD:串行數(shù)據(jù)(映射至MOSI引腳),用來發(fā)送和接收2路時分復用通道的數(shù)據(jù);精品文檔放心下載●WS:字選(映射至NSS引腳),主模式下作為數(shù)據(jù)控制信號輸出,從模式下作為輸入;感謝閱讀-*● CK:串行時鐘(映射至SCK引腳),主模式下作為時鐘信號輸出,從模式下作為輸入。精品文檔放心下載-*在某些外部音頻設備需要主時鐘時,可以另有一個附加引腳輸出時鐘:精品文檔放心下載MCK:主時鐘(獨立映射),在I2S配置為主模式,寄存器SPI_I2SPR的MCKOE位為’1’時,謝謝閱讀為輸出額外的時鐘信號引腳使用。輸出時鐘信號的頻率預先設置為256×Fs,其中Fs是音頻信號的采樣頻率。感謝閱讀設置成主模式時,I2S使用自身的時鐘發(fā)生器來產(chǎn)生通信用的時鐘信號。這個時鐘發(fā)生器也是主時鐘輸出的時鐘源。I2S模式下有2個額外的寄存器,一個是與時鐘發(fā)生器配置相關(guān)的寄存器SPI_I2SPR,另一個是I2S通用配置寄存器SPI_I2SCFGR(可設置音頻標準、從/主模式、數(shù)據(jù)格式、數(shù)據(jù)包幀、時鐘極性等參數(shù))。精品文檔放心下載I2S模式下不使用寄存器SPI_CR1和所有的CRC寄存器。同樣,I2S模式下也不使用寄存精品文檔放心下載器SPI_CR2的SSOE位,和寄存器SPI_SR的MODF位和CRCERR位。I2S使用與SPI相同的寄存器SPI_DR用作16位寬模式數(shù)據(jù)傳輸。感謝閱讀23.4.2 支持的音頻協(xié)議三線總線支持2個聲道上音頻數(shù)據(jù)的時分復用:左聲道和右聲道,但是只有一個16位寄存器用作發(fā)送或接收。因此,軟件必須在對數(shù)據(jù)寄存器寫入數(shù)據(jù)時,根據(jù)當前傳輸中的聲道寫入相應的數(shù)據(jù);同樣,在讀取寄存器數(shù)據(jù)時,通過檢查寄存器SPI_SR的CHSIDE位來判明接收到的數(shù)據(jù)屬于哪個聲道。左聲道總是先于右聲道發(fā)送數(shù)據(jù)(CHSIDE位在PCM協(xié)議下無意義)。謝謝閱讀有四種可用的數(shù)據(jù)和包幀組合??梢酝ㄟ^以下四種數(shù)據(jù)格式發(fā)送數(shù)據(jù):感謝閱讀16位數(shù)據(jù)打包進16位幀16位數(shù)據(jù)打包進32位幀24位數(shù)據(jù)打包進32位幀32位數(shù)據(jù)打包進32位幀在使用16位數(shù)據(jù)擴展到32位幀時,前16位(MSB)是有意義的數(shù)據(jù),后16位(LSB)被強制為0,該操作不需要軟件干預,也不需要有DMA請求(僅需要一次讀/寫操作)。謝謝閱讀24位和32位數(shù)據(jù)幀需要CPU對寄存器SPI_DR進行2次讀或?qū)懖僮鳎谑褂肈MA時,需精品文檔放心下載2次DMA傳輸。對于24位數(shù)據(jù),擴展到32位后,最低8位由硬件置0。對于所有的數(shù)據(jù)格式和通訊標準,總是先發(fā)送最高位(MSB)。謝謝閱讀I2S接口支持四種音頻標準,可以通過設置寄存器SPI_I2SCFGR的I2SSTD[1:0]位和PCMSYNC位來選擇。精品文檔放心下載I2S飛利浦標準在此標準下,引腳WS用來指示正在發(fā)送的數(shù)據(jù)屬于哪個聲道。在發(fā)送第一位數(shù)據(jù)(MSB)前1個時鐘周期,該引腳即為有效。謝謝閱讀I2S飛利浦協(xié)議波形(16/32位全精度,CPOL=0)謝謝閱讀222-*發(fā)送方在時鐘信號(CK)的下降沿改變數(shù)據(jù),接收方在上升沿讀取數(shù)據(jù)。WS信號也在時鐘信號的下降沿變化。謝謝閱讀I2S飛利浦協(xié)議標準波形(24位幀,CPOL=0)精品文檔放心下載223此模式需要對寄存器SPI_DR進行2次讀或?qū)懖僮?。謝謝閱讀●在發(fā)送模式下:如果需要發(fā)送0x8EAA33(24位):謝謝閱讀224發(fā)送0x8EAA33● 在接收模式下:如果接收0x8EAA33:225接收0x8EAA33I2S飛利浦協(xié)議標準波形(16位擴展至32位包幀,CPOL=0)謝謝閱讀226-*-*I2S配置階段,如果選擇將16位數(shù)據(jù)擴展到32位聲道幀,只需要訪問一次寄存器SPI_DR。用來擴展到32位的低16位被硬件置為0x0000。精品文檔放心下載如果待傳輸或者接收的數(shù)據(jù)是0x76A3(擴展到32位是0x76A30000),需要的操作如下圖所示。謝謝閱讀227示例在發(fā)送時需要將MSB寫入寄存器SPI_DR;標志位TXE為’1’表示可以寫入新的數(shù)據(jù),如果允許了相應的中斷,則可以產(chǎn)生中斷。發(fā)送是由硬件完成的,即使還未發(fā)送出后16位的0x0000,也會設置TXE并產(chǎn)生相應的中斷。精品文檔放心下載接收時,每次收到高16位半字(MSB)后,標志位RXNE置’1’,如果允許了相應的中斷,則可以產(chǎn)生中斷。謝謝閱讀這樣,在2次讀和寫之間有更多的時間,可以防止下溢或者上溢的情況發(fā)生。MSB對齊標準在此標準下,WS信號和第一個數(shù)據(jù)位,即最高位(MSB)同時產(chǎn)生。精品文檔放心下載228MSB對齊16位或32位全精度,CPOL=0謝謝閱讀發(fā)送方在時鐘信號的下降沿改變數(shù)據(jù);接收方是在上升沿讀取數(shù)據(jù)。精品文檔放心下載229MSB對齊24位數(shù)據(jù),CPOL=0精品文檔放心下載-*230MSB對齊16位數(shù)據(jù)擴展到32位包幀,CPOL=0精品文檔放心下載LSB對齊標準此標準與MSB對齊標準類似(在16位或32位全精精品文檔放心下載度幀格式下無區(qū)別)。圖231 LSB對齊16位或32位全精度,感謝閱讀CPOL=0232LSB對齊24位數(shù)據(jù),CPOL=0感謝閱讀●在發(fā)送模式下如果要發(fā)送數(shù)據(jù)0x3478AE,需要通過軟件或者DMA對寄存器SPI_DR進行2次寫操作。操作流程如下圖所示。感謝閱讀-*●在接收模式下如果要接收數(shù)據(jù)0x3478AE,需要在2個連續(xù)的RXNE事件發(fā)生時,分別對寄存器SPI_DR進謝謝閱讀1次讀操作。234要求接收0x3478AE的操作235LSB對齊16位數(shù)據(jù)擴展到32位包幀,CPOL=0謝謝閱讀I2S配置階段,如果選擇將16位數(shù)據(jù)擴展到32聲道幀,只需要訪問一次寄存器SPI_DR。此時,擴展到32位后的高半字(16位MSB)被硬件置為0x0000。感謝閱讀如果待傳輸或者接收的數(shù)據(jù)是0x76A3(擴展到32位是0x000076A3),需要的操作如下圖所示。謝謝閱讀236示例在發(fā)送時,如果TXE為’1’,用戶需要寫入待發(fā)送的數(shù)據(jù)(即0x76A3)。用來擴展到32位的感謝閱讀0x0000部分由硬件首先發(fā)送出去,一旦有效數(shù)據(jù)開始從SD引腳送出,即發(fā)生下一次TXE事件。謝謝閱讀在接收時,一旦接收到有效數(shù)據(jù)(而不是0x0000部分),即發(fā)生RXNE事件。精品文檔放心下載這樣,在2次讀和寫之間有更多的時間,可以防止下溢或者上溢的情況發(fā)生。謝謝閱讀PCM 標準PCM標準下,不存在聲道選擇的信息。PCM標準有2種可用的幀結(jié)構(gòu),短幀或者長幀,可以通過設置寄存器SPI_I2SCFGR的PCMSYNC位來選擇。感謝閱讀-*對于長幀,主模式下,用來同步的WS信號有效的時間固定為13位。對于短幀,用來同步的WS信號長度只有1位。精品文檔放心下載238PCM標準波形(16位擴展到32位包幀)感謝閱讀注意:無論哪種模式(主或從)、哪種同步方式(短幀或長幀),連續(xù)的2幀數(shù)據(jù)之間和2個同步信號之間的時間差,(即使是從模式)需要通過設置SPI_I2SCFGR寄存器的DATLEN位和CHLEN位來確定。感謝閱讀23.4.3 時鐘發(fā)生器I2S的比特率即確定了在I2S數(shù)據(jù)線上的數(shù)據(jù)流和I2S的時鐘信號頻率。I2S比特率=每個聲道的比特數(shù)×聲道數(shù)目×音頻采樣頻率對于一個具有左右聲道和16位音頻信號,I2S比特率計算如下感謝閱讀I2S比特率=16×2×Fs如果包長為32位,則有:I2S比特率=32×2×Fs感謝閱讀-*在主模式下,為了獲得需要的音頻頻率,需要正確地對線性分頻器進行設置。謝謝閱讀I2S時鐘發(fā)生器結(jié)構(gòu)240圖中x可以是2或者3。上圖中I2SxCLK的時鐘源是系統(tǒng)時鐘(即驅(qū)動AHB時鐘的HSI、HSE或PLL)。對于互聯(lián)型產(chǎn)品,I2SxCLK可以來自SYSCLK,或PLL3VCO(2xPLL3CLK)時鐘從而得到最精確的時鐘,可以通過RCC_CFGR2寄存器的I2S2SRC和I2S3SRC位選擇。精品文檔放心下載音頻的采樣頻率可以是96kHz、48kHz、44.1kHz、32kHz、22.05kHz、16kHz、11.025kHz或者8kHz(或任何此范圍內(nèi)的數(shù)值)。為了獲得需要的頻率,需按照以下公式設置線性分頻器:當需要生成主時鐘時(寄存器SPI_I2SPR的MCKOE位為’1’):聲道的幀長為精品文檔放心下載16位時,F(xiàn)s=I2SxCLK/[(16*2)*((2*I2SDIV)+ODD)*8]聲道的幀長為32位時,F(xiàn)s=I2SxCLK/[(32*2)*((2*I2SDIV)+ODD)*4]感謝閱讀當關(guān)閉主時鐘時(MCKOE位為’0’):聲道的幀長為16位時,F(xiàn)s=I2SxCLK/[(16*2)*((2*I2SDIV)+ODD)]聲道的幀長為32位時,F(xiàn)s=I2SxCLK/[(32*2)*((2*I2SDIV)+ODD)]感謝閱讀下面2張表給出了不同時鐘配置時,精確參數(shù)的例子。謝謝閱讀注: 可以使用其它配置以達到優(yōu)化時鐘精確度的目的。-*SYSCLKI2S_DIVI2S_ODDMCLK期望值實際F(Hz)誤差(MHz)16位32位16位32位F(Hz16位S32位16位32位7211610無)S97826.09937501.90%2.34%9600072231111無4800047872.3448913.040.27%1.90%72251310無4410044117.6543269.230.04%1.88%72351701無3200032142.8632142.860.44%0.44%72512501無2205022058.8222058.820.04%0.04%72703510無1600015675.7516071.430.27%0.45%721025100無1102511029.4111029.410.04%0.04%721407011無80008007.117978.720.09%0.27%722200有9600070312.1570312.1526.76%26.76%723300有4800046875468752.34%2.34%723300有4410046875468756.29%6.29%729900有3200031250312502.34%2.34%726611有2205021634.6121634.611.88%1.88%729900有1600015625156252.34%2.34%72131300有1102510817.310817.31.88%1.88%72171711有80008035.718035.710.45%0.45%表168使用標準的25MHz時鐘和PLL3得到精確的音頻頻率(只適用于互聯(lián)型產(chǎn)品)PREDIV2PLL3I2SDIVI2SODDMCLK期望實際F(Hz)誤差F(Hz)S163216321632163216位32位16位32位位位位位位位位位S無9600095942.9895942.980.0594%0.0594%66141419901712201446911無4800048003.0747971.490.0064%0.0594%881414311501無4410044102.8244102.820.0064%0.0064%1141610353011無3200032010.2432018.440.0320%0.0576%881414623100無2205022051.4122051.410.0064%0.0064%71120161393511無1600016001.0216005.120.0064%0.0320%8814141246200無1102511025.7111025.710.0064%0.0064%99202021710801無80008000.5128000.5120.0064%0.0064%44882200是9600097656.2597656.251.7253%1.7253%131316162211是4800048076.9248076.920.1603%0.1603%55994400是4410043945.3143945.310.3508%0.3508%55995511是3200031960.2231960.220.1243%0.1243%551313111111是2205022078.822078.80.1306%0.1306%9914149911是1600015990.4915990.490.0594%0.0594%881414151511是1102511025.711025.70.0064%0.0064%441010303011是80008004.6118004.6110.0576%0.0576%-*PREDIV2PLL3I2SDIVI2SODDMCLK期望實際F(Hz)誤差1632163216321632F(Hz)16位S32位16位32位位位位位位位位位S無9600096000960000%0%33101016800662020321600無4800048000480000%0%1111202019901無4410044095.6944095.690.0098%0.0098%221010723600無3200032000320000%0%1111101019901無2205022047.8422047.840.0098%0.0098%4420201447200無1600016000160000%0%22101020910401無1102511023.9211023.920.0098%0.0098%12122020964800無8000800080000%0%2210103300是9600096000960000%0%6620204400是4800048000480000%0%2210106611是4410044307.6944307.6947.1000%0.4710%2210109900是3200032000320000%0%4413138811是2205022023.5222023.520.1200%0.1200%442020181800是1600016000160000%0%111120209911是1102511023.9211023.920.0098%0.0098%662020242400是8000800080000%0%23.4.4 I2S主模式設置I2S工作在主模式,串行時鐘由引腳CK輸出,字選信號由引腳WS產(chǎn)生??梢酝ㄟ^設置寄存器SPI_I2SPR的MCKOE位來選擇輸出或者不輸出主時鐘(MCK)。謝謝閱讀流程設置寄存器SPI_I2SPR的I2SDIV[7:0]定義與音頻采樣頻率相符的串行時鐘波特率。同時也要定義寄存器SPI_I2SPR的ODD位。感謝閱讀設置CKPOL位定義通信用時鐘在空閑時的電平狀態(tài)。如果需要向外部的DAC/ADC音頻器件提供主時鐘MCK,將寄存器SPI_I2SPR的MCKOE位置為’1’。(按照不同的MCK輸出狀態(tài),計算I2SDIV和ODD的值,詳見23.4.3節(jié))。精品文檔放心下載設置寄存器SPI_I2SCFGR的I2SMOD位為’1’激活I(lǐng)2S功能,設置I2SSTD[1:0]和謝謝閱讀PCMSYNC位選擇所用的I2S標準,設置CHLEN選擇每個聲道的數(shù)據(jù)位數(shù)。還要設置寄存器精品文檔放心下載SPI_I2SCFGR的I2SCFG[1:0]選擇I2S主模式和方向(發(fā)送端還是接收端)。感謝閱讀如果需要,可以通過設置寄存器SPI_CR2來打開所需的中斷功能和DMA功能。精品文檔放心下載必須將寄存器SPI_I2SCFGR的I2SE位置為’1’。感謝閱讀引腳WS和CK需要配置為輸出模式。如果寄存器SPI_I2SPR的MCKOE位為’1’,引腳MCK也要配置成輸出模式。謝謝閱讀發(fā)送流程當寫入1個半字(16位)的數(shù)據(jù)至發(fā)送緩存,發(fā)送流程開始。假設第一個寫入發(fā)送緩存的數(shù)據(jù)對應的是左聲道數(shù)據(jù)。當數(shù)據(jù)從發(fā)送緩存移到移位寄存器時,標志位TXE置’1’,這時,要把對應右聲道的數(shù)據(jù)寫入發(fā)送緩存。標志位CHSIDE提示了目前待傳謝謝閱讀輸?shù)臄?shù)據(jù)對應哪個聲道。標志位CHSIDE的值在TXE為’1’時更新,因此它在TXE為’1’時有意義。精品文檔放心下載在先左聲道后右聲道的數(shù)據(jù)都傳輸完成后,才能被認為是一個完整的數(shù)據(jù)幀。不可以只傳輸部分數(shù)據(jù)幀,如僅有左聲道的數(shù)據(jù)。謝謝閱讀當發(fā)出第一位數(shù)據(jù)的同時,半字數(shù)據(jù)被并行地傳送至16位移位寄存器,然后后面的位依次按高位在先的順序從引腳MOSI/SD發(fā)出。每次數(shù)據(jù)從發(fā)送緩存移至移位寄存器時,標志位TXE置為’1’,如果寄存器SPI_CR2的TXEIE位為’1’,則產(chǎn)生中斷。感謝閱讀-*寫入數(shù)據(jù)的操作取決于所選擇的I2S標準,詳見23.4.2節(jié)。感謝閱讀為了保證連續(xù)的音頻數(shù)據(jù)傳輸,建議在當前傳輸完成之前,對寄存器SPI_DR寫入下一個要傳輸?shù)臄?shù)據(jù)。精品文檔放心下載建議在要關(guān)閉I2S功能時,等待標志位TXE=1及BSY=0,再將I2SE位清’0’。精品文檔放心下載接收流程接收流程的配置步驟除了第3點外,與發(fā)送流程的一致(參見前述的”發(fā)送流程”),需要通過配置I2SCFG[1:0]來選擇主接收模式。感謝閱讀無論何種數(shù)據(jù)和聲道長度,音頻數(shù)據(jù)總是以16位包的形式接收。即每次填滿接收緩存后,標志位RXNE置’1’,如果寄存器SPI_CR2的RXNEIE位為’1’,則產(chǎn)生中斷。根據(jù)配置的數(shù)據(jù)和聲道長度,收到左聲道或右聲道的數(shù)據(jù)會需要1次或者2次把數(shù)據(jù)傳送到接收緩存的過程。謝謝閱讀對寄存器SPI_DR進行讀操作即可清除RXNE標志位。每次接收以后即更新CHSIDE。它的值取決于I2S單元產(chǎn)生的WS信號。讀取數(shù)據(jù)的操作取決于所選擇的I2S標準,詳見23.4.2節(jié)。感謝閱讀如果前一個接收到的數(shù)據(jù)還沒有被讀取,又接收到新數(shù)據(jù),即發(fā)生上溢,標志位OVR被置為’1’,如果寄存器SPI_CR2的ERRIE位為’1’,則產(chǎn)生中斷,表示發(fā)生了錯誤。精品文檔放心下載若要關(guān)閉I2S功能,需要執(zhí)行特別的操作,以保證I2S模塊可以正常地完成傳輸周期而不會開始新的數(shù)據(jù)傳輸。操作過程與數(shù)據(jù)配置和通道長度、以及音頻協(xié)議的模式相關(guān):感謝閱讀16位數(shù)據(jù)擴展到32位通道長度(DATLEN=00并且CHLEN=1),使用LSB(低位)對齊模式(I2SSTD=10)感謝閱讀等待倒數(shù)第二個(n-1)RXNE=1;等待17個I2S時鐘周期(使用軟件延遲);關(guān)閉I2S(I2SE=0)。16位數(shù)據(jù)擴展到32位通道長度(DATLEN=00并且CHLEN=1),使用MSB(高位)對齊、I2S精品文檔放心下載PCM模式(分別為I2SSTD=00,I2SSTD=01或I2SSTD=11)感謝閱讀等待最后一個RXNE=1;等待1個I2S時鐘周期(使用軟件延遲);關(guān)閉I2S(I2SE=0)。所有其它DATLEN和CHLEN的組合,I2SSTD選擇的任意音頻模式,使用下述方式關(guān)閉精品文檔放心下載I2S:等待倒數(shù)第二個(n-1)RXNE=1;等待一個I2S時鐘周期(使用軟件延遲);關(guān)閉I2S(I2SE=0)。注: 在傳輸期間BSY標志始終為低。23.4.5 I2S從模式在從模式下,I2S可以設置成發(fā)送和接收模式。從模式的配置方式基本遵循和配置主模式一樣的流程。在從模式下,不需要I2S接口提供時鐘。時鐘信號和WS信號都由外部主I2S設備提供,連接到相應的引腳上。因此用戶無需配置時鐘。謝謝閱讀配置步驟列舉如下:設置寄存器SPI_I2SCFGR的I2SMOD位激活I(lǐng)2S功能;設置I2SSTD[1:0]來選擇所用的精品文檔放心下載I2S標準;設置DATLEN[1:0]選擇數(shù)據(jù)的比特數(shù);設置CHLEN選擇每個聲道的數(shù)據(jù)位精品文檔放心下載數(shù)。設置寄存器SPI_I2SCFGR的I2SCFG[1:0]選擇I2S從模式的數(shù)據(jù)方向(發(fā)送端還是接收端)。精品文檔放心下載根據(jù)需要,設置寄存器SPI_CR2打開所需的中斷功能和DMA功能。謝謝閱讀必須設置寄存器SPI_I2SCFGR的I2SE位為’1’。精品文檔放心下載-*發(fā)送流程當外部主設備發(fā)送時鐘信號,并且當NSS_WS信號請求傳輸數(shù)據(jù)時,發(fā)送流程開始。必須先使能從設備,并且寫入I2S數(shù)據(jù)寄存器之后,外部主設備才能開始通信。精品文檔放心下載對于I2S的MSB對齊和LSB對齊模式,第一個寫入數(shù)據(jù)寄存器的數(shù)據(jù)項對應左聲道的數(shù)據(jù)。當開始通信時,數(shù)據(jù)從發(fā)送緩沖器傳送到移位寄存器,然后標志位TXE置為’1’;這時,要把對應右聲道的數(shù)據(jù)項寫入I2S數(shù)據(jù)寄存器。謝謝閱讀標志位CHSIDE提示了目前待傳輸?shù)臄?shù)據(jù)對應哪個聲道。與主模式的發(fā)送流程相比,在從模式中,CHSIDE取決于來自外部主I2S的WS信號。這意味著從I2S在接收到主端生成的時鐘信號之前,就要準備好第一個要發(fā)送的數(shù)據(jù)。WS信號為’1’表示先發(fā)送左聲道。謝謝閱讀注意:設置I2SE位為’1’的時間,應當比CK引腳上的主I2S時鐘信號早至少2個PCLK時鐘周期。精品文檔放心下載當發(fā)出第一位數(shù)據(jù)的時候,半字數(shù)據(jù)并行地通過I2S內(nèi)部總線傳輸至16位移位寄存器,然后其它位依次按高位在先的順序從引腳MOSI/SD發(fā)出。每次數(shù)據(jù)從發(fā)送緩沖器傳送至移位寄存器時,標志位TXE置’1’,如果寄存器SPI_CR2的TXEIE位為’1’,則產(chǎn)生中斷。感謝閱讀注意,在對發(fā)送緩沖器寫入數(shù)據(jù)前,要確認標志位TXE為’1’。寫入數(shù)據(jù)的操作取決于所選中的I2S標準,詳見23.4.2節(jié)。謝謝閱讀為了保證連續(xù)的音頻數(shù)據(jù)傳輸,建議在當前傳輸完成之前,對寄存器SPI_DR寫入下一個要傳輸?shù)臄?shù)據(jù)。如果在代表下一個數(shù)據(jù)傳輸?shù)牡谝粋€時鐘邊沿到達之前,新的數(shù)據(jù)仍然沒有寫入寄存器SPI_DR,下溢標志位會置’1’,并可能產(chǎn)生中斷;它指示軟件發(fā)送數(shù)據(jù)錯誤。如果寄存器SPI_CR2的ERRIE位為’1’,在寄存器SPI_SR的標志位UDR為高是,就會產(chǎn)生中斷。建議在這時關(guān)閉I2S,然后重新從左聲道開始發(fā)送數(shù)據(jù)。感謝閱讀建議在清除I2SE位關(guān)閉I2S之前,先等待TXE=1并且BSY=0。感謝閱讀接收流程配置步驟除了第1點外,與發(fā)送流程一致。需要通過配置I2SCFG[1:0]來選擇主接收模式。無論何種數(shù)據(jù)和聲道長度,音頻數(shù)據(jù)總是以16位包的形式接收,即每次填滿接收緩存,標志位感謝閱讀RXNE置’1’,如果寄存器SPI_CR2的RXNEIE位為’1’,則產(chǎn)生中斷。按照不同的數(shù)據(jù)和聲道長度感謝閱讀設置,收到左聲道或者右聲道數(shù)據(jù)會需要1次或者2次傳輸數(shù)據(jù)至接收緩沖器的過程。每次接收到數(shù)據(jù)(將要從SPI_DR讀出)以后即更新CHSIDE,它對應I2S單元產(chǎn)生的WS信號。讀取SPI_DR寄存器,將清除RXNE位。讀取數(shù)據(jù)的操作取決于所選中的I2S標準,詳見23.4.2節(jié)。感謝閱讀在還沒有讀出前一個接收到的數(shù)據(jù),又接收到新數(shù)據(jù)時,即產(chǎn)生上溢,并設置標志位OVR為’1’;如果寄存器SPI_CR2的ERRIE位為’1’,則產(chǎn)生中斷,指示發(fā)生了錯誤。感謝閱讀要關(guān)閉I2S功能時,需要在接收到最后一次RXNE=1時將I2SE位清’0’。感謝閱讀注意:外部主I2S器件需要有通過音頻聲道發(fā)/接送收16位或32位數(shù)據(jù)包的功能。感謝閱讀23.4.6 狀態(tài)標志位有3個狀態(tài)標志位供用戶監(jiān)控I2S總線的狀態(tài)。謝謝閱讀忙標志位(BSY)BSY標志由硬件設置與清除(寫入此位無效果),該標志位指示I2S通信層的狀態(tài)。該位為’1’時表明I2S通訊正在進行中,但有一個例外:主接收模式(I2SCFG=11)下,在接收期間謝謝閱讀BSY標志始終為低。在軟件要關(guān)閉SPI模塊之前,可以使用BSY標志檢測傳輸是否結(jié)束,這樣可以避免破壞最后一次
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國微波噴霧焗油機市場調(diào)查研究報告
- 第4章 細胞的物質(zhì)輸入和輸出教學設計-2024-2025學年高一上學期生物人教版必修1
- 2024-2025學年新教材高中數(shù)學第五課考點突破素養(yǎng)提升新人教A版必修2
- 2024-2025學年新教材高中歷史第一單元從中華文明起源到秦漢統(tǒng)一多民族封建國家的建立與鞏固第3課秦統(tǒng)一多民族封建國家的建立課后課時作業(yè)新人教版必修中外歷史綱要上
- 2024-2025學年高中語文第三單元面對現(xiàn)實的智慧自讀文本范蠡鞏固提升案魯人版選修史記蚜
- 賽爾克甫 小學道法 買然木古麗·吾買爾 教學設計
- 全國新世紀版信息技術(shù)七年級上冊第二單元第一課《電腦的大管家》教學設計
- 人教小學英語三起點pep版5下 知識點之重點句型
- 2025年精制茶及茶制品項目合作計劃書
- 高中英語英文經(jīng)典短篇小說閱讀-working christmas day(圣誕節(jié)的工作)教學設計
- QC課題提高檢查井周邊壓實
- 應征公民體格檢查表(征兵)
- ACL磁致伸縮液位計說明書
- 優(yōu)秀教研組評比制度及實施細則
- 慈善祖師—太乙救苦天尊經(jīng)文選集拼音版
- 3建筑工程規(guī)劃放線、驗線多測合一成果報告書
- JJF 1752-2019全自動封閉型發(fā)光免疫分析儀校準規(guī)范(高清版)
- GB 1886.300-2018 食品安全國家標準 食品添加劑 離子交換樹脂(高清版)
- 尾礦庫安全技術(shù)規(guī)程釋義
- 如何寫數(shù)學新授課教學設計
- 五年級上冊期末考試數(shù)學試卷含答案(最新人教版)
評論
0/150
提交評論