前言
本文记录的是I2C通信协议
也可参考这篇文章https://www.cnblogs.com/amxiang/p/16908858.html
一、I2C协议是什么?
I2C 通讯协议(Inter-Integrated Circuit)是由Phiilps公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要USART、CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。
二、I2C物理层特点

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

本文详细介绍了I2C通信协议,包括其物理层特点,如双向数据线和时钟线,以及协议层的内容,如写方向、读方向、起始和停止信号、数据有效性、地址及数据方向和应答信号。I2C协议因其简单、扩展性强的特点在物联网和单片机领域广泛应用。
订阅专栏 解锁全文
4777

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



