I2C协议支持两种设备地址:普通的7位地址和扩展的10位地址集。地址集不相交:7位地址0x10与10位地址0x10不相同(尽管单个设备可以对两者都作出响应)。为了避免歧义,用户看到10位地址映射到不同的地址空间,即0xa000-0xa3ff。前导0xa(= 10)表示10位模式。用于在sysfs中创建设备名称。当通过sysfs中的new_device文件实例化10位设备时也需要它。
进出10位地址设备的I2C消息有不同的格式。详细信息请参见I2C规范。
当前的10位地址支持是最小化的。这应该是可行的,但是在此过程中可能会出现一些问题:
注意,10位地址设备仍然非常罕见,所以上面列出的限制可能会持续很长时间,甚至可能永远存在,如果没有人需要修复它们。
原文:https://www.cnblogs.com/wanglouxiaozi/p/15165516.html