学MPU6050之终极棒棒瓶颈,忘了学I2C部分,导致后期有些代码看不懂。其中据说软件模拟I2C比硬件I2C好使,所以特此来学习一下。P话不多说,开始学习。
I2C协议简介
I2C 通讯协议(Inter-Integrated Circuit)是由Phiilps公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要USART、 CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。
物理层特点:
• 它是一个支持多设备的总线。“总线”指多个设备共用的信号线。在一个I2C通讯总线中,可连接多个I2C通讯设备,支持多个通讯主机及多个通讯从机。
• 一个I2C总线只使用两条总线线路,一条双向串行数据线(SDA) ,一条串行时钟线 (SCL)。数据线即用来表示数据,时钟线用于数据收发同步。
• 每个连接到总线的设备都有一个独立的地址,主机可以利用这个地址进行不同设备之间的访问。寻址机制。
线与特性
• 总线通过上拉电阻接到电源。当I2C设备空闲时,会输出高阻态,而当所有设备都空闲,都输出高