第十四講:同步串行通信接口_第1頁
第十四講:同步串行通信接口_第2頁
第十四講:同步串行通信接口_第3頁
第十四講:同步串行通信接口_第4頁
第十四講:同步串行通信接口_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、聯(lián)系方式:http:/北京源智天下科技有限公司21天學(xué)嵌入式開發(fā)天學(xué)嵌入式開發(fā)第十四講:同步串行通信接口第十四講:同步串行通信接口 1-2北京源智天下科技有限公司聯(lián)系方式:http:/課程安排課程安排SPI結(jié)構(gòu)結(jié)構(gòu) SPI編程方法編程方法 I2C結(jié)構(gòu)結(jié)構(gòu) I2C編程方法編程方法 聯(lián)系方式:http:/北京源智天下科技有限公司SPI結(jié)構(gòu)結(jié)構(gòu)STM32的的SPI接口通過如下引腳和外部設(shè)備相連:接口通過如下引腳和外部設(shè)備相連: MISO引腳引腳 MOSI引腳引腳 SCK引腳引腳 NSS引腳引腳 聯(lián)系方式:http:/北京源智天下科技有限公司SPI從模式工作原理從模式工作原理 配置配置SPI從模式的步

2、驟如下:從模式的步驟如下: 設(shè)置設(shè)置DFF位以定義數(shù)據(jù)幀格式為位以定義數(shù)據(jù)幀格式為8位或位或16位。位。 定義數(shù)據(jù)傳輸和串行時(shí)鐘之間的相位關(guān)系。定義數(shù)據(jù)傳輸和串行時(shí)鐘之間的相位關(guān)系。 幀格式必須和主設(shè)備相同,幀格式必須和主設(shè)備相同,MSB在前還是在前還是LSB在前取決于在前取決于SPI_CR1寄存器中的寄存器中的LSBFIRST位。位。 硬件模式下,在完整的數(shù)據(jù)幀硬件模式下,在完整的數(shù)據(jù)幀(8位或位或16位位)發(fā)送過程中,發(fā)送過程中,NSS引腳必引腳必須為低電平。軟件模式下,設(shè)置須為低電平。軟件模式下,設(shè)置SPI_CR1寄存器中的寄存器中的SSM位并清除位并清除SSI位。位。 清除清除MSTR

3、位,設(shè)置位,設(shè)置SPE位,使相應(yīng)引腳工作于位,使相應(yīng)引腳工作于SPI模式下。模式下。 聯(lián)系方式:http:/北京源智天下科技有限公司SPI主模式工作原理主模式工作原理 配置配置SPI主模式的步驟如下:主模式的步驟如下: 設(shè)置設(shè)置SPI_CR1寄存器的寄存器的BR2:0位,來定義串行時(shí)鐘波特率。位,來定義串行時(shí)鐘波特率。 選擇選擇CPOL和和CPHA位,定義數(shù)據(jù)傳輸和串行時(shí)鐘間的相位關(guān)系。位,定義數(shù)據(jù)傳輸和串行時(shí)鐘間的相位關(guān)系。 設(shè)置設(shè)置DFF位來定義位來定義8或或16位數(shù)據(jù)幀格式。位數(shù)據(jù)幀格式。 配置配置SPI_CR1寄存器的寄存器的LSBFIRST位定義幀格式。位定義幀格式。 如果如果NSS

4、引腳需要工作在輸入模式,硬件模式中在整個(gè)數(shù)據(jù)幀傳輸期間引腳需要工作在輸入模式,硬件模式中在整個(gè)數(shù)據(jù)幀傳輸期間應(yīng)把應(yīng)把NSS引腳連接到高電平;在軟件模式中,需設(shè)置引腳連接到高電平;在軟件模式中,需設(shè)置SPI_CR1寄存器的寄存器的SSM和和SSI位。如果位。如果NSS引腳工作在輸出模式,則只需設(shè)置引腳工作在輸出模式,則只需設(shè)置SSOE位。位。 設(shè)置設(shè)置MSTR和和SPE位,只當(dāng)位,只當(dāng)NSS引腳被連到高電平,這些位才能保持置引腳被連到高電平,這些位才能保持置位。位。 聯(lián)系方式:http:/北京源智天下科技有限公司SPI高級(jí)功能高級(jí)功能 SPI通信的通信的CRC SPI的的DMA通信通信 全雙工模

5、式全雙工模式 單工模式單工模式 聯(lián)系方式:http:/北京源智天下科技有限公司SPI的中斷請(qǐng)求的中斷請(qǐng)求 聯(lián)系方式:http:/北京源智天下科技有限公司SPI寄存器結(jié)構(gòu)寄存器結(jié)構(gòu) typedef struct vu16 CR1;/ SPI控制寄存器1 u16 RESERVED0; vu16 CR2;/ SPI控制寄存器2 u16 RESERVED1; vu16 SR;/SPI狀態(tài)寄存器 u16 RESERVED2; vu16 DR;/SPI數(shù)據(jù)寄存器 u16 RESERVED3; vu16 CRCPR;/SPI CRC多項(xiàng)式寄存器 u16 RESERVED4; vu16 RXCRCR;/SPI

6、接收CRC寄存器 u16 RESERVED5; vu16 TXCRCR;/SPI發(fā)送CRC寄存器 u16 RESERVED6; SPI_TypeDef;聯(lián)系方式:http:/北京源智天下科技有限公司SPI的編程方法的編程方法 庫函數(shù):庫函數(shù): SPI_DeInit函數(shù)函數(shù) SPI_Init函數(shù)函數(shù) SPI_StructInit函數(shù)函數(shù) SPI_Cmd函數(shù)函數(shù) SPI_ITConfig函數(shù)函數(shù) SPI_DMACmd函數(shù)函數(shù) SPI_SendData函數(shù)函數(shù) SPI_ReceiveData函數(shù)函數(shù) SPI_NSSInternalSoftwareConfig函數(shù)函數(shù) SPI_SSOutputCmd函

7、數(shù)函數(shù)聯(lián)系方式:http:/北京源智天下科技有限公司SPI的編程方法的編程方法 (續(xù)續(xù))庫函數(shù):庫函數(shù): SPI_DataSizeConfig函數(shù)函數(shù) SPI_TransmitCRC函數(shù)函數(shù) SPI_CalculateCRC函數(shù)函數(shù) SPI_GetCRC函數(shù)函數(shù) SPI_GetCRCPolynomial函數(shù)函數(shù) SPI_BiDirectionalLineConfig函數(shù)函數(shù) SPI_GetFlagStatus函數(shù)函數(shù) SPI_ClearFlag函數(shù)函數(shù) SPI_GetITStatus函數(shù)函數(shù) SPI_ClearITPendingBit函數(shù)函數(shù) 聯(lián)系方式:http:/北京源智天下科技有限公司I2

8、C結(jié)構(gòu)結(jié)構(gòu) STM32內(nèi)部集成了串行外設(shè)接口內(nèi)部集成了串行外設(shè)接口I2C I2C的主要特點(diǎn)的主要特點(diǎn)STM32的的I2C接口具有如下接口具有如下4種工作模式:種工作模式: 從發(fā)送器模式從發(fā)送器模式 從接收器模式從接收器模式 主發(fā)送器模式主發(fā)送器模式 主接收器模式主接收器模式 聯(lián)系方式:http:/北京源智天下科技有限公司I2C主要功能主要功能 I2C從模式工作原理從模式工作原理 I2C主主模式工作原理模式工作原理 SMBus功能功能 I2C的的DMA功能功能 DMA發(fā)送發(fā)送 DMA接收接收 聯(lián)系方式:http:/北京源智天下科技有限公司I2C的中斷請(qǐng)求的中斷請(qǐng)求 聯(lián)系方式:http:/北京源智

9、天下科技有限公司I2C寄存器結(jié)構(gòu)寄存器結(jié)構(gòu) typedef struct vu16 CR1;/I2C控制寄存器1 u16 RESERVED0; vu16 CR2; /I2C控制寄存器2 u16 RESERVED1; vu16 OAR1; /I2C自身地址寄存器1 u16 RESERVED2; vu16 OAR2; /I2C自身地址寄存器2 u16 RESERVED3; vu16 DR; /I2C數(shù)據(jù)寄存器 u16 RESERVED4; vu16 SR1; /I2C狀態(tài)寄存器1 u16 RESERVED5; vu16 SR2; /I2C狀態(tài)寄存器2 u16 RESERVED6; vu16 CCR

10、; /I2C時(shí)鐘控制寄存器 u16 RESERVED7; vu16 TRISE; /I2C上升時(shí)間寄存器 u16 RESERVED8; I2C_TypeDef; 聯(lián)系方式:http:/北京源智天下科技有限公司I2C的編程方法的編程方法 庫函數(shù):庫函數(shù):I2C_DeInit函數(shù)函數(shù)I2C_Init函數(shù)函數(shù)I2C_StructInit函數(shù)函數(shù)I2C_Cmd函數(shù)函數(shù)I2C_DMACmd函數(shù)函數(shù)I2C_DMALastTransferCmd函數(shù)函數(shù)I2C_GenerateSTART函數(shù)函數(shù)I2C_GenerateSTOP函數(shù)函數(shù)I2C_AcknowledgeConfig函數(shù)函數(shù)I2C_OwnAddres

11、s2Config函數(shù)函數(shù)I2C_DualAddressCmd函數(shù)函數(shù)I2C_GeneralCallCmd函數(shù)函數(shù)I2C_ITConfig函數(shù)函數(shù)I2C_SendData函數(shù)函數(shù)I2C_ReceiveData函數(shù)函數(shù)I2C_Send7bitAddress函數(shù)函數(shù)聯(lián)系方式:http:/北京源智天下科技有限公司I2C的編程方法的編程方法 (續(xù))(續(xù))庫函數(shù):庫函數(shù):I2C_ReadRegister函數(shù)函數(shù)I2C_SoftwareResetCmd函數(shù)函數(shù)I2C_SMBusAlertConfig函數(shù)函數(shù)I2C_TransmitPEC函數(shù)函數(shù)I2C_PECPositionConfig函數(shù)函數(shù)I2C_CalculatePEC函數(shù)函數(shù)I2C_GetPEC函數(shù)函數(shù)I2C_ARPCmd函數(shù)函數(shù)I2C_StretchClockCmd函數(shù)函數(shù)I2C_FastModeDutyCycleConfig函數(shù)。函數(shù)。I2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論