IIC
IIC(Inter-Integrated Circuit)协议,也称为I2C协议,是一种串行通信协议,常用于连接数字集成电路(IC)芯片之间的通信。在I2C协议中,地址宽度可以是7位或10位。
对于7位地址宽度的I2C协议,可以支持最多128个设备地址(2^7)。地址范围从0x00到0x7F。
而对于10位地址宽度的I2C协议,可以支持最多1024个设备地址(2^10)。地址范围从0x000到0x3FF。
I2C规范保留了两组和8个地址,1111XXX和0000XXX。这些地址用于特殊用途。下表已被取自 I2C规范(2000年)。
从机地址+R/W 描述
0000 0000 呼叫地址
0000 0001 起始字节
0000 001X CBUS地址
0000 010X 保留供不同的总线格式
0000 011X 保留将来用
0000 1XXX HS模式主机码
1111 0XXX 10位从机地址
1111 1XXX 保留将来用
需要注意的是,不是所有的I2C设备都支持10位地址宽度,大多数设备仍然采用7位地址宽度。因此,在使用10位地址宽度时,需要确认所使用的设备是否支持该特性。
根据I2C(IIC)协议规范,地址宽度为10位的情况下,未使用的字节并不会被置于高电平。在I2C协议中,地址宽度由设备的寄存器组织方式决定,一般情况下只使用7位地址,而不使用额外的3位。因此,在10位地址模式下,未使用的3位字节可以用于其他用途,如扩展功能等。这些未使用的字节的状态(高电平或低电平)没有特定要求,可以由开发者根据实际需求进行配置和使用。
解析:
起始条件:在SCL 线是高电平时SDA 线从高电平向低电平切换
停止条件:在SCL 线是高电平时SDA 线由低电平向高电平切换
地址宽度10bit时:
S —开始
Address:1111 0XXX开头
R/W:读写位
A1:第一个响应
DATA:第一个字节的数据
……
地址宽度7bit:
参考:https://www.cnblogs.com/Ethan-Code/p/16783114.html