7位寻址
在7位寻址过程中,从机地址在启动信号后的第一个字节开始传输,该字节的前7位为从机地址,第8位为读写位,其中0表示写,1表示读。
图1:7位寻址。I2C总线规范规定,标准模式I2C,从机地址为7位长,其次是读/写位。
任何I2C设备都必须遵循这个标准,USB2XXX传输的从机地址即为这7bit地址,不包含读写位,读写位会根据不同的函数自动添加进去。
保留地址
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 | 保留将来用 |
8位地址
一些厂商在提供从机地址的时候说的是包含了读写位的8bit地址,比如他说写地址为0x92,读地址为0x93,如下图所示
图2: 8位寻址
这种情况下,你只需要将这个地址的前7bit提取出来,然后传入USB2XXX的接口函数即可,比如为0x49。
还有一种方式可以判断厂商提供的地址是7bit模式地址还是8bit地址模式的地址,7bit地址模式下,地址的取值范围在0x07到0x78之间,若超过了这个范围,那么这个地址可能就是8bit地址。
图3:有效的7bit地址范围
10位寻址
I2C总线的10bit寻址和7bit寻址是兼容的,这样就可以在同一个总线上同时使用7bit地址和10bit地址模式的设备,在进行10bit地址传输时,第一字节是一个特殊的保留地址来指示当前传输的是10bit地址。
指示当前传输的是10bit地址。
[外链图片转存中…(img-DBWxbx4N-1629285761892)]
图4:10bit地址寻址
标签:10,寻址,0000,10bit,从机,地址,详解,IIC,7bit From: https://www.cnblogs.com/amxiang/p/16901225.html