0

我需要通过 I2C 与adxl357加速度计进行通信,并且出现了一些问题。查看RP2040 sdk 文档,我看到有一种特殊的方法可以将数据发送到某个地址,例如i2c_write_blocking()。它的参数包括一个 7 位地址和要发送的数据。我的问题是,由于加速度计需要读/写位,是否仍然可以使用此功能?还是我应该去替代i2c_write_raw_blocking()

另外,我不明白读/写位的符号,用 R/#W 报告,这是否意味着 1 是读而 0 是写?

在此先感谢您的帮助。

4

1 回答 1

1

I2C 地址有 7 位:这些在 8 位字节的高 7 位中发送,其余位(最低有效位)设置为 1 用于读取,0 用于写入。

文档说它需要一个 7 位地址的原因是因为它告诉您写函数会将地址左移 1 并加 1,而读函数函数会将地址左移 1 并加一个 0。

如果它没有告诉您这一点,您可能会自己预先转移地址,这是错误的。

于 2021-11-30T21:15:25.700 回答