版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1STM32原理及其應(yīng)用2內(nèi)部集成電路總線接口I2C
教學(xué)基本內(nèi)容:I2C概述、應(yīng)用實例。重點:I2C內(nèi)部結(jié)構(gòu)及相應(yīng)的功能,了解各類寄存器。難點:熟練應(yīng)用I2C庫函數(shù)。本章主要教學(xué)要求:I2C結(jié)構(gòu)及寄存器、庫函數(shù)說明。3第一節(jié)I2C概述(了解)第二節(jié)
I2C結(jié)構(gòu)及寄存器(理解)第三節(jié)庫函數(shù)說明(重點)第四節(jié)應(yīng)用實例(了解)4第一節(jié)I2C概述I2C總線是InterIntegratedCircuitBus的縮寫,通常譯為“內(nèi)部集成電路總線”或“集成電路間總線”,簡稱為總線,I2C總線是一種高效、實用且可靠的雙向二線串行數(shù)據(jù)傳輸結(jié)構(gòu)總線。5一、ADC1.概念:ADC,Analog-to-DigitalConverter的縮寫,指模/數(shù)轉(zhuǎn)換器或者模數(shù)轉(zhuǎn)換器,即A/D轉(zhuǎn)換器,是將連續(xù)變化的模擬信號轉(zhuǎn)換為離散的數(shù)字信號的器件。2.功能:通常的模數(shù)轉(zhuǎn)換器是將一個輸入電壓信號轉(zhuǎn)換為一個輸出的數(shù)字信號。6二、
I2C接口具有4種工作模式:
從發(fā)送器模式;
從接收器模式;
主發(fā)送器模式;
主接收器模式。
7I2C設(shè)計可以由I2CEEPROM庫函數(shù)程序設(shè)計實現(xiàn)可以通過以下6個步驟利用EEPROM庫函數(shù)設(shè)計實現(xiàn)實現(xiàn):新建工程添加C語言源文件修改C語言源文件添加庫文件生成目標(biāo)程序文件使用調(diào)試器運行目標(biāo)程序GPIO仿真I2C庫函數(shù)程序設(shè)計實現(xiàn)。1.添加C語言源文件2.修改C語言源文件3.添加庫文件4.生成目標(biāo)程序文件5.使用調(diào)試器運行目標(biāo)程序9第二節(jié)
結(jié)構(gòu)及寄存器
I2C由數(shù)據(jù)和時鐘兩部分組成,數(shù)據(jù)部分由數(shù)據(jù)寄存器、數(shù)據(jù)移位寄存器和數(shù)據(jù)控制等組成。時鐘部分由控制狀態(tài)器、控制邏輯電路、時鐘控制器寄存器和時鐘控制等組成??刂茽顟B(tài)寄存器通過控制邏輯電路等控制時鐘的行為。I2C方框圖如圖8-2。圖8-2I2C方框圖10I2C使用的GPIO引腳I2C使用的GPIO引腳見表8-1。I2C引腳GPIO引腳I2C1I2C2配置SDAPB7(PB9)(1)PB11復(fù)用開漏輸出SCLPB6(PB8)(1)PB10復(fù)用開漏輸出SMBALERTPB5PB12
表8-1I2C使用的GPIO引腳注:(1)括號中的引腳為復(fù)用功能引腳11寄存器偏移地址名稱類型復(fù)位值說明0x00CR1讀/寫0x0000控制寄存器10x04CR2讀/寫0x0000控制寄存器20x08OAR1讀/寫0x0000自身地址寄存器10x0COAR2讀/寫0x0000自身地址寄存器20x10DR讀/寫0x00數(shù)據(jù)寄存器0x14SR1讀/寫0清除0x0000狀態(tài)寄存器10x18SR2讀0x0000狀態(tài)寄存器20x1CCCR讀/寫0x0000時鐘控制寄存器
0x20
TRISE
讀/寫
0x0002上升時間寄存器(主模式)標(biāo)準(zhǔn)模式:TRISE=int(100ns*FREQ+1)快速模式:TRISE=int(300ns*FREQ+1)I2C需要通過9個寄存器進行操作,見表8-2(I2C1和I2C2的基地址分別為0x40005400和0x40005800)。表8-2I2C寄存器12第三節(jié)庫函數(shù)說明(**)
常用I2C庫函數(shù)在stm32f10_i2c.h中聲明如下:voidI2C_Init(I2C_TypeDef*I2Cx,I2C_IninTypeDef*I2C_InitStruct);voidI2C_Cmd(I2C_TypeDef*I2Cx,FunctionalstateNewstate);voidI2C_GenerateSTART(I2C_TypeDef*I2Cx,FunctionalstateNewstate)voidI2C_GeneratesTOP(I2C_TypeDef*I2Cx,FunctionalstateNewState)voidI2CAcknowledgeConfig(I2C_TypeDef*I2Cx,FunctionalStateNewState);voidI2C_SendData(12C_TypeDef*I2Cx,u8Data)u8I2C_ReceiveData(I2C_TypeDef*I2Cx);voidI2C_Send7bitAddress(I2C_TypeDef*I2Cx,u8Address,u8I2C_Direction);u16I2C_ReadRegister(I2CTypeDef*I2Cx,u8I2CRegister);voidI2C_SoftwareResetCmd(I2C_TypeDef*I2Cx,FunctionalstateNewstate);u32I2C_GetLastEvent(I2C_TypeDef*I2Cx);ErrorStatusI2C_CheckEvent(I2C_TypeDef*I2Cx,u32I2C_EVENT);FlagStatusI2C_GetFlagStatus(I2C_TypeDef*I2Cx,u32I2CFLAG);voidI2C_ClearFlag(I2C_TypeDef*I2Cx,u3212C_FLAG);(1)初始化I2CvoidI2C_Init(I2C_TypeDef*I2Cx,I2C_InitTypeDef*I2C_Initstruct);參數(shù)說明:12Cx:I2C名稱,取值是12C1或者12C2等
(2)使能I2CvoidI2C_Cmd(I2C_TypeDef*I2Cx,FunctionalStateNewState);參數(shù)說明:I2Cx:I2C名稱,取值為I2C1或I2C2等NewState:I2C新狀態(tài),ENABL為允許,DISABLE為禁止I2Cx:I2C名稱,取值為I2C1或I2C2等NewState:I2C新狀態(tài),ENABL(1)為允許,DISABLE(0)為禁止(3)產(chǎn)生起始條件voidI2C_GenerateSTART(12C_TypeDef*12Cx,F(xiàn)unctionalstateNewstate)參數(shù)說明:I2Cx:I2C名稱,取值為I2C1或I2C2等NewState:I2C新狀態(tài),ENABL(1)為允許,DISABLE(0)為禁止(4)產(chǎn)生停止條件voidI2C_GeneratesTOP(I2C_TypeDef*I2Cx,F(xiàn)unctionalStateNewstate);參數(shù)說明:I2Cx:I2C名稱,取值為I2C1或I2C2等NewState:I2C新狀態(tài),ENABL(1)為允許,DISABLE(0)為禁止
(5)配置應(yīng)答voidI2C_AcknowledgeConfig(I2C_TypeDef*I2Cx,FunctionalStateNewstate);參數(shù)說明:I2Cx:I2C名稱,取值為I2C1或I2C2等NewState:I2C新狀態(tài),ENABL(1)為允許,DISABLE(0)為禁止
(6)配置自身地址2voidI2C_OwnAddress2Config(I2C_TypeDef*I2Cx,u8Adress);參數(shù)說明:I2Cx:I2C名稱,取值為I2C1或I2C2等Adress:7位自身地址(7)發(fā)送數(shù)據(jù)voidI2C_ReceiveData(I2C_TypeDef*I2Cx,u8Date);參數(shù)說明:I2Cx:I2C名稱,取值為I2C1或I2C2等Data:8位發(fā)送數(shù)據(jù)
(8)接收數(shù)據(jù)u8I2C_ReceiveData(I2C_TypeDef*,I2Cx);參數(shù)說明:I2Cx:I2C名稱,取值為I2C1或I2C2等
返回值:8位接收數(shù)據(jù)
(9)發(fā)送7位地址voidI2C_Send7bitAddress(I2c_TypeDef*I2Cx,u8Address,u8I2C_Direction);參數(shù)說明:I2Cx:I2C名稱,取值為I2C1或I2C2等I2C_Direction:方向,在stm32f10x_i2c.h中定義如下:#defineI2C_Direction_Transmitter((u8)0x00)#defineI2C_Direction_Receiver((u8)0x00)(10)讀寄存器u16I2C_ReadRegister(I2C_TypeDef*I2Cx,u8I2C_Register);參數(shù)說明:I2Cx:I2C名稱,取值為I2C1或I2C2等I2C_Register:I2C寄存器返回值:寄存器值
(11)使能軟件復(fù)位voidI2C_SoftwareResetCmd(I2C_Typedef*I2Cx,FunctionalStateNewState);參數(shù)說明:I2Cx:I2C名稱,取值為I2C1或I2C2等NewState:軟件復(fù)位新狀態(tài),ENABL(1)為允許,DISABLE(0)為禁止
(12)獲取最后事件u32I2C_GetLastEvent(I2C_TypeDef*I2Cx,FunctionalStateNewState);參數(shù)說明:I2Cx:I2C名稱,取值為I2C1或I2C2等
返回值:I2C事件
(13)檢查事件ErrorStatus_I2C_CheckEvent(I2C_TypeDef*I2Cx,u32I2C_EVENT):參數(shù)說明:I2Cx:I2C名稱,取值為I2C1或I2C2等I2C_EVENT:I2C事件返回值:事件狀態(tài),SUCCESS代表最后事件是檢查事件,ERROR代表最后事件不是檢查事件。
(14)獲取I2C標(biāo)志狀態(tài)FlagStatusI2C_GetFlagStatus(I2C_TypeDef*I2Cx,u32I2C_FLAG);參數(shù)說明:I2Cx:I2C名稱,取值為I2C1或I2C2等I2C_FLAG:I2C標(biāo)志返回值:I2C標(biāo)志狀態(tài)。SET(1)代表置位,RESET(0)代表復(fù)位
(15)清除I2C標(biāo)志voidI2C_ClearFlag(I2C2_TypeDef*I2Cx,u32I2C_FLAG);參數(shù)說明:I2Cx:I2C名稱,取值為I2C1或I2C2等12C_FLAG:I2C標(biāo)志
19第四節(jié)應(yīng)用實例引腳功能方向說明引腳功能方向說明1A0輸入器件地址05SDA雙向串行數(shù)據(jù)2A1輸入器件地址16SCL輸入串行時鐘3A2輸入器件地址27WP輸入寫保護4GND-地8VCC輸入電源(2.7~5.5V)以2線串行EEPROM24C02為例,講述通過I
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度年福建省高校教師資格證之高等教育法規(guī)綜合練習(xí)試卷B卷附答案
- 2023年付里葉紅外分光光度計資金籌措計劃書
- 2024年xx村集體資金使用用途四議兩公開專題會議記錄
- 第二節(jié) 先天性行為和學(xué)習(xí)行為課件
- 四年級數(shù)學(xué)(上)計算題專項練習(xí)及答案
- 2024年專業(yè)泥工承攬協(xié)議模板
- 2024人力資源管理優(yōu)化項目協(xié)議
- 2024砂石料訂貨與分銷協(xié)議細(xì)則
- 2024年度企業(yè)債券投資與合作協(xié)議
- 計算機網(wǎng)絡(luò)期末考試試題及答案完整版
- 法律法規(guī)符合性評價記錄
- 市場主體遷移申請書
- 微觀交易結(jié)構(gòu)系列之二:不容忽視的交易成本量化個股隱性成本
- 商會各類崗位職責(zé)
- 四年級上冊英語課件- M3U2 Around my home (Period 3) 上海牛津版試用版(共18張PPT)
- 酒店裝飾裝修工程驗收表
- 新北師大版六年級上冊數(shù)學(xué)全冊教案(教學(xué)設(shè)計)
- 呼吸科(呼吸與危重癥醫(yī)學(xué)科)出科理論試題及答案
- 調(diào)研報告:關(guān)于棚戶區(qū)改造現(xiàn)狀、存在問題及對策建議
- 技工學(xué)校教師工作規(guī)范
- 2022年醫(yī)院關(guān)于縮短患者平均住院日的管理規(guī)定
評論
0/150
提交評論