为啥 10 位的 I2C 地址 0x90 的 7 位表示为 0x48?

118 天前
 gouchaoer2
如图:
1032 次点击
所在节点    问与答
4 条回复
lxh1983
118 天前
因为 I2C 的 Bit0 是读/写标志,Bit1-Bit7 才是地址
gouchaoer2
118 天前
@lxh1983 能具体一点么?

我看了一下 MAX9295 的 I2C 的二进制表示,好像 10 位往右移了 1bit 就是 7 位的,难道 linux 内核中 7 位的地址表示最后 1 位都是 0 ?
10 位:010000000 0x80
7 位: 01000000 0x40
gouchaoer2
118 天前
@lxh1983
能具体一点么?

我看了一下 MAX9295 的 I2C 的二进制表示,好像 10 位往右移了 1bit 就是 7 位的,难道 linux 内核中 7 位的地址表示最后 1 位都是 0 ?

10 位 00010010000 0x90
7 位 01001000 0x48
sadfasdfa
117 天前
厂家有给 i2c 地址构成的,一般 0 位代表读写标志

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1068560

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX