gpt4 book ai didi

支持 16 位地址的 I2c

转载 作者:行者123 更新时间:2023-12-01 14:18:55 25 4
gpt4 key购买 nike

最初,我使用了一个支持 8 位 I2C 寄存器的 eBus SDK。此 SDK 不支持 I2C 的 16 位寄存器地址。这个 sdk 是否有任何替代方案支持 I2C 的 16 位寄存器地址?

最良好的祝愿,并在此先感谢您

最佳答案

根据其他评论,有一些概念需要澄清。所有 I2C 设备仅支持 7 位(8 位读/写)和 10 位从机寻址。然而,这不是本主题中所问的概念。

根据协议(protocol)规范,I2C 以 8 位组的形式读取/写入,然后是来自接收数据的设备的确认 (ACK/NACK)。设备如何解释读取/写入的位可能因设备而异。

根据我的个人经验,我发现通常较大的寄存器地址(例如 0x1234)仅意味着您需要从寄存器 0x​​12 和 0x34 读取/写入。两个寄存器都将保存 8 位信息,这些信息共同构成十六进制 0x1234 引用的实际 16 位字。

正如我所提到的,这可能因设备而异。您可能需要通读特定 I2C 设备的数据表/手册,以获取有关其寄存器寻址的更多信息,以确保您从正确的寄存器读取/写入并将各个​​ 8 位组装成正确的顺序以提取相应的 16位字。

关于支持 16 位地址的 I2c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17684758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com