資料介紹
I2C是由Philips公司發明的一種串行數據通信協議,僅使用兩根信號線:SerialClock(簡稱SCL)和SerialData(簡稱 SDA)。I2C是總線結構,1個Master,1個或多個Slave,各Slave設備以7位地址區分,地址后面再跟1位讀寫位,表示讀(=1)或者寫(=0),所以我們有時也可看到8位形式的設備地址,此時每個設備有讀、寫兩個地址,高7位地址其實是相同的。 I2C數據格式如下:無數據:SCL=1,SDA=1;開始位(Start):當SCL=1時,SDA由1向0跳變;停止位(Stop):當SCL=1時,SDA由0向1跳變;數據位:當SCL由0向1跳變時,由發送方控制SDA,此時SDA為有效數據,不可隨意改變SDA;當SCL保持為0時,SDA上的數據可隨意改變;地址位:定義同數據位,但只由Master發給Slave;應答位(ACK):當發送方傳送完8位時,發送方釋放SDA,由接收方控制SDA,且SDA=0;否應答位(NACK):當發送方傳送完8位時,發送方釋放SDA,由接收方控制SDA,且SDA=1。當數據為單字節傳送時,格式為:開始位,8位地址位(含1位讀寫位),應答,8位數據,應答,停止位。當數據為一串字節傳送時,格式為:開始位,8位地址位(含1位讀寫位),應答,8位數據,應答,8位數據,應答,……,8位數據,應答,停止位。需要注意的是:
1,SCL一直由Master控制,SDA依照數據傳送的方向,讀數據時由Slave控制SDA,寫數據時由Master控制SDA。當8位數據傳送完畢之后,應答位或者否應答位的SDA控制權與數據位傳送時相反。
2,開始位“Start”和停止位“Stop”,只能由Master來發出。
3,地址的8位傳送完畢后,成功配置地址的Slave設備必須發送“ACK”。否則否則一定時間之后Master視為超時,將放棄數據傳送,發送“Stop”。
4,當寫數據的時候,Master每發送完8個數據位,Slave設備如果還有空間接受下一個字節應該回答“ACK”,Slave設備如果沒有空間接受更多的字節應該回答“NACK”,Master當收到“NACK”或者一定時間之后沒收到任何數據將視為超時,此時 Master放棄數據傳送,發送“Stop”。
5,當讀數據的時候,Slave設備每發送完8個數據位,如果Master希望繼續讀下一個字節,Master應該回答“ACK”以提示 Slave準備下一個數據,如果Master不希望讀取更多字節,Master應該回答“NACK”以提示Slave設備準備接收Stop信號。
6,當Master速度過快Slave端來不及處理時,Slave設備可以拉低SCL不放(SCL=0將發生“線與”)以阻止Master發送更多的數據。此時Master將視情況減慢或結束數據傳送。在實際應用中,并沒有強制規定數據接收方必須對于發送的8位數據做出回應,尤其是在Master和Slave端都是用GPIO軟件模擬的方法來實現的情況下,編程者可以事先約定數據傳送的長度,slave不檢查NACK,有時可以起到減少系統開銷的效果。但是如果slave方是硬件i2c要求一定要標準的NACK,master方是GPIO軟件模擬i2c并沒有正確的發送NACK,就會出現“slave收不到 stop”導致i2c掛死。
- STC單片機IO口模擬I2C(主從)文件資料 12次下載
- 使用單片機實現I2C總線的實驗文件免費下載 7次下載
- 使用51單片機實現PCF8591 I2C串行AD的仿真文件免費下載 16次下載
- 51單片機的I2C總線驅動程序免費下載
- 使用C語言模擬51單片機的I2C總線的資料和程序免費下載
- 使用51單片機IO模擬I2C的程序免費下載
- STC89C52單片機的I2C使用程序免費下載
- 如何使用STM32單片機的硬件I2C讀取MPU6050的數據資料和程序免費下載 0次下載
- 使用51單片機模擬I2C的原理和程序免費下載
- 使用51單片機模擬I2C總線的程序免費下載
- 51單片機的I2C總線的資料介紹和示例程序免費下載
- 使用51單片機模擬I2C總線的驅動程序免費下載
- I2C總線的51單片機通用驅動程序 28次下載
- 基于51的I2c總線 34次下載
- 億恒C166 系列單片機I2C 總線的軟件模擬
- i2c總線用來做什么_i2c總線數據傳輸過程 7086次閱讀
- 使用51單片機讀寫AT29C040的C語言程序免費下載 4529次閱讀
- HD44780讀寫單片機C51程序免費下載 4146次閱讀
- 使用HD44780讀寫單片機的C51程序詳細概述 3112次閱讀
- I2C總線驅動的C語言源程序詳細說明 5050次閱讀
- I2C總線的基礎知識 1860次閱讀
- 如何使用C語言實現51單片機模擬I2C總線 4268次閱讀
- 單片機的I2C通信設計 2871次閱讀
- 基于MCS-51單片機I2C總線接口電路的設計 3245次閱讀
- AT89S52單片機并行端口模擬I2C總線協議讀寫AT24C04的設計 2584次閱讀
- I2C接口與單片機之間的通信設計 7990次閱讀
- 80C51單片機模擬I2C總線的主機程序分享 3232次閱讀
- I2C總線的特點、控制技術與傳輸分析 9911次閱讀
- 《振南電子STM32視頻教程》第八講:I2C總線 1077次閱讀
- 基于GAL的I2C總線時序模擬 2817次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1490次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7藍牙設備在嵌入式領域的廣泛應用
- 0.63 MB | 3次下載 | 免費
- 89天練會電子電路識圖
- 5.91 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多