i2c协议
Posted 四季帆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了i2c协议相关的知识,希望对你有一定的参考价值。
1. 定义
I2C是一个能够支持多个设备的总线,包含一条双向串行数据线SDA,一条串行时钟线SCL。每个连接到总线的设备都有一个独立的地址,主机可以通过该地址来访问不同设备。主机通过SDA线发送设备地址(SLAVE_ADDRESS)查找从机,SLAVE_ADDRESS可以是7位或10位,紧跟着SLAVE_ADDRESS的一个数据位用来表示数据传输方向,即第8位或11位。为0时表示写数据,为1时表示读数据。
2. 起始条件S和停止条件P
起始条件S:当SCL高电平时,SDA由高电平向低电平转换;
停止条件P:当SCL高电平时,SDA由低电平向高电平转换。
3. 数据传输格式
传输的每个字节必须为8位,而总字节数不受限制。每个字节后必须跟一个响应位。
4. 响应ACK
数据接收方收到传输的一个字节数据后,需要给出响应,发送端释放SDA线控制权,将SDA电平拉高,由接收方控制。若希望继续,则给出“应答(ACK)”信号,即SDA为低电平;反之给出“非应答(NACK)”信号,即SDA为高电平。
以上是关于i2c协议的主要内容,如果未能解决你的问题,请参考以下文章