学MPU6050之终极棒棒瓶颈,忘了学I2C部分,导致后期有些代码看不懂。其中据说软件模拟I2C比硬件I2C好使,所以特此来学习一下。P话不多说,开始学习。
I2C协议简介
I2C 通讯协议(Inter-Integrated Circuit)是由Phiilps公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要USART、 CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。
物理层特点:

• 它是一个支持多设备的总线。“总线”指多个设备共用的信号线。在一个I2C通讯总线中,可连接多个I2C通讯设备,支持多个通讯主机及多个通讯从机。
• 一个I2C总线只使用两条总线线路,一条双向串行数据线(SDA) ,一条串行时钟线 (SCL)。数据线即用来表示数据,时钟线用于数据收发同步。
• 每个连接到总线的设备都有一个独立的地址,主机可以利用这个地址进行不同设备之间的访问。寻址机制。
线与特性
• 总线通过上拉电阻接到电源。当I2C设备空闲时,会输出高阻态,而当所有设备都空闲,都输出高阻态时,由上拉电阻把总线拉成高电平。**高阻态=1,接地=0。**为了防止其他设备干扰。
• 多个主机同时使用总线时,为了防止数据冲突,会利用仲裁方式决定由哪个设备占用总线。

本文介绍了I2C通讯协议的基础知识,包括其物理层特点如总线结构、寻址机制和线与特性,以及协议层的起始和停止信号、数据有效性、地址及数据方向。内容涵盖I2C的基本读写过程、数据传输模式和响应机制,帮助读者理解如何在硬件和软件层面操作I2C进行EEPROM的读写。
最低0.47元/天 解锁文章
6182

被折叠的 条评论
为什么被折叠?



