版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1STM32原理及其應(yīng)用2內(nèi)部集成電路總線接口I2C
教學(xué)基本內(nèi)容:I2C概述、應(yīng)用實(shí)例。重點(diǎn):I2C內(nèi)部結(jié)構(gòu)及相應(yīng)的功能,了解各類寄存器。難點(diǎn):熟練應(yīng)用I2C庫(kù)函數(shù)。本章主要教學(xué)要求:I2C結(jié)構(gòu)及寄存器、庫(kù)函數(shù)說(shuō)明。3第一節(jié)I2C概述(了解)第二節(jié)
I2C結(jié)構(gòu)及寄存器(理解)第三節(jié)庫(kù)函數(shù)說(shuō)明(重點(diǎn))第四節(jié)應(yīng)用實(shí)例(了解)4第一節(jié)I2C概述I2C總線是InterIntegratedCircuitBus的縮寫,通常譯為“內(nèi)部集成電路總線”或“集成電路間總線”,簡(jiǎn)稱為總線,I2C總線是一種高效、實(shí)用且可靠的雙向二線串行數(shù)據(jù)傳輸結(jié)構(gòu)總線。5一、ADC1.概念:ADC,Analog-to-DigitalConverter的縮寫,指模/數(shù)轉(zhuǎn)換器或者模數(shù)轉(zhuǎn)換器,即A/D轉(zhuǎn)換器,是將連續(xù)變化的模擬信號(hào)轉(zhuǎn)換為離散的數(shù)字信號(hào)的器件。2.功能:通常的模數(shù)轉(zhuǎn)換器是將一個(gè)輸入電壓信號(hào)轉(zhuǎn)換為一個(gè)輸出的數(shù)字信號(hào)。6二、
I2C接口具有4種工作模式:
從發(fā)送器模式;
從接收器模式;
主發(fā)送器模式;
主接收器模式。
7I2C設(shè)計(jì)可以由I2CEEPROM庫(kù)函數(shù)程序設(shè)計(jì)實(shí)現(xiàn)可以通過(guò)以下6個(gè)步驟利用EEPROM庫(kù)函數(shù)設(shè)計(jì)實(shí)現(xiàn)實(shí)現(xiàn):新建工程添加C語(yǔ)言源文件修改C語(yǔ)言源文件添加庫(kù)文件生成目標(biāo)程序文件使用調(diào)試器運(yùn)行目標(biāo)程序GPIO仿真I2C庫(kù)函數(shù)程序設(shè)計(jì)實(shí)現(xiàn)。1.添加C語(yǔ)言源文件2.修改C語(yǔ)言源文件3.添加庫(kù)文件4.生成目標(biāo)程序文件5.使用調(diào)試器運(yùn)行目標(biāo)程序9第二節(jié)
結(jié)構(gòu)及寄存器
I2C由數(shù)據(jù)和時(shí)鐘兩部分組成,數(shù)據(jù)部分由數(shù)據(jù)寄存器、數(shù)據(jù)移位寄存器和數(shù)據(jù)控制等組成。時(shí)鐘部分由控制狀態(tài)器、控制邏輯電路、時(shí)鐘控制器寄存器和時(shí)鐘控制等組成??刂茽顟B(tài)寄存器通過(guò)控制邏輯電路等控制時(shí)鐘的行為。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)括號(hào)中的引腳為復(fù)用功能引腳11寄存器偏移地址名稱類型復(fù)位值說(shuō)明0x00CR1讀/寫0x0000控制寄存器10x04CR2讀/寫0x0000控制寄存器20x08OAR1讀/寫0x0000自身地址寄存器10x0COAR2讀/寫0x0000自身地址寄存器20x10DR讀/寫0x00數(shù)據(jù)寄存器0x14SR1讀/寫0清除0x0000狀態(tài)寄存器10x18SR2讀0x0000狀態(tài)寄存器20x1CCCR讀/寫0x0000時(shí)鐘控制寄存器
0x20
TRISE
讀/寫
0x0002上升時(shí)間寄存器(主模式)標(biāo)準(zhǔn)模式:TRISE=int(100ns*FREQ+1)快速模式:TRISE=int(300ns*FREQ+1)I2C需要通過(guò)9個(gè)寄存器進(jìn)行操作,見表8-2(I2C1和I2C2的基地址分別為0x40005400和0x40005800)。表8-2I2C寄存器12第三節(jié)庫(kù)函數(shù)說(shuō)明(**)
常用I2C庫(kù)函數(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ù)說(shuō)明:12Cx:I2C名稱,取值是12C1或者12C2等
(2)使能I2CvoidI2C_Cmd(I2C_TypeDef*I2Cx,FunctionalStateNewState);參數(shù)說(shuō)明: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ù)說(shuō)明: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ù)說(shuō)明:I2Cx:I2C名稱,取值為I2C1或I2C2等NewState:I2C新狀態(tài),ENABL(1)為允許,DISABLE(0)為禁止
(5)配置應(yīng)答voidI2C_AcknowledgeConfig(I2C_TypeDef*I2Cx,FunctionalStateNewstate);參數(shù)說(shuō)明:I2Cx:I2C名稱,取值為I2C1或I2C2等NewState:I2C新狀態(tài),ENABL(1)為允許,DISABLE(0)為禁止
(6)配置自身地址2voidI2C_OwnAddress2Config(I2C_TypeDef*I2Cx,u8Adress);參數(shù)說(shuō)明:I2Cx:I2C名稱,取值為I2C1或I2C2等Adress:7位自身地址(7)發(fā)送數(shù)據(jù)voidI2C_ReceiveData(I2C_TypeDef*I2Cx,u8Date);參數(shù)說(shuō)明:I2Cx:I2C名稱,取值為I2C1或I2C2等Data:8位發(fā)送數(shù)據(jù)
(8)接收數(shù)據(jù)u8I2C_ReceiveData(I2C_TypeDef*,I2Cx);參數(shù)說(shuō)明:I2Cx:I2C名稱,取值為I2C1或I2C2等
返回值:8位接收數(shù)據(jù)
(9)發(fā)送7位地址voidI2C_Send7bitAddress(I2c_TypeDef*I2Cx,u8Address,u8I2C_Direction);參數(shù)說(shuō)明: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ù)說(shuō)明:I2Cx:I2C名稱,取值為I2C1或I2C2等I2C_Register:I2C寄存器返回值:寄存器值
(11)使能軟件復(fù)位voidI2C_SoftwareResetCmd(I2C_Typedef*I2Cx,FunctionalStateNewState);參數(shù)說(shuō)明:I2Cx:I2C名稱,取值為I2C1或I2C2等NewState:軟件復(fù)位新狀態(tài),ENABL(1)為允許,DISABLE(0)為禁止
(12)獲取最后事件u32I2C_GetLastEvent(I2C_TypeDef*I2Cx,FunctionalStateNewState);參數(shù)說(shuō)明:I2Cx:I2C名稱,取值為I2C1或I2C2等
返回值:I2C事件
(13)檢查事件ErrorStatus_I2C_CheckEvent(I2C_TypeDef*I2Cx,u32I2C_EVENT):參數(shù)說(shuō)明: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ù)說(shuō)明: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ù)說(shuō)明:I2Cx:I2C名稱,取值為I2C1或I2C2等12C_FLAG:I2C標(biāo)志
19第四節(jié)應(yīng)用實(shí)例引腳功能方向說(shuō)明引腳功能方向說(shuō)明1A0輸入器件地址05SDA雙向串行數(shù)據(jù)2A1輸入器件地址16SCL輸入串行時(shí)鐘3A2輸入器件地址27WP輸入寫保護(hù)4GND-地8VCC輸入電源(2.7~5.5V)以2線串行EEPROM24C02為例,講述通過(guò)I
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 研學(xué)旅行培訓(xùn)指南 課件2.體驗(yàn)式學(xué)習(xí)活動(dòng)設(shè)計(jì)與實(shí)踐:基于成人學(xué)習(xí)原則的探索
- 服裝批發(fā)活動(dòng)方案策劃(3篇)
- 物業(yè)小區(qū)裝修管理制度貴陽(yáng)(3篇)
- 行為信用管理制度的內(nèi)容(3篇)
- 獸藥監(jiān)管培訓(xùn)
- 《GA 949-2011警用液壓自動(dòng)路障車》專題研究報(bào)告
- 《GA 659.1-2006互聯(lián)網(wǎng)公共上網(wǎng)服務(wù)場(chǎng)所信息安全管理系統(tǒng) 數(shù)據(jù)交換格式 第1部分:終端上線數(shù)據(jù)基本數(shù)據(jù)交換格式》專題研究報(bào)告
- 《GAT 924.1-2011拘留所管理信息基本數(shù)據(jù)項(xiàng) 第1部分:被拘留人信息基本數(shù)據(jù)項(xiàng)》專題研究報(bào)告
- 納新培訓(xùn)教學(xué)課件
- 養(yǎng)老院入住老人家庭溝通與協(xié)作制度
- DB50∕T 1604-2024 地質(zhì)災(zāi)害防治邊坡工程結(jié)構(gòu)可靠性設(shè)計(jì)規(guī)范
- 新一代大學(xué)英語(yǔ)(第二版)綜合教程1(智慧版) 課件 B1U1 iExplore 1
- 非現(xiàn)場(chǎng)執(zhí)法培訓(xùn)課件
- 中國(guó)電氣裝備資產(chǎn)管理有限公司招聘筆試題庫(kù)2025
- 糖尿病足的護(hù)理常規(guī)講課件
- 2025年高考英語(yǔ)復(fù)習(xí)難題速遞之語(yǔ)法填空(2025年4月)
- 2025外籍工作人員勞動(dòng)合同范本
- 退化林地生態(tài)修復(fù)-深度研究
- 湖北省武漢市江岸區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末數(shù)學(xué)試題(原卷版+解析版)
- 2025年《新課程標(biāo)準(zhǔn)解讀》標(biāo)準(zhǔn)課件
- 2024-2025學(xué)年同步試題 語(yǔ)文(統(tǒng)編版選擇性必修中冊(cè))8.2小二黑結(jié)婚
評(píng)論
0/150
提交評(píng)論