基于RP2040 C/C++ SDK的ADXL357加速度计I2C通信问题咨询
问题1:i2c_write_blocking() 适用性解答
- 你可以直接使用
i2c_write_blocking()完成和ADXL357的写通信,不需要改用i2c_write_raw_blocking()。 - RP2040 SDK的
i2c_write_blocking()已经内置了地址帧的处理逻辑:你传入的7位设备地址会被自动左移1位,最低位自动填充写操作对应的0值(也就是R/W位),完全符合ADXL357的I2C传输要求。 i2c_write_raw_blocking()是给需要自定义构造完整地址帧(自行拼接7位地址+R/W位)的特殊场景使用的,普通的读写操作不需要调用这个接口。
问题2:R/#W标注含义解答
- 你的理解是对的,该标注下1对应读操作、0对应写操作。
- 标注里的
#符号表示W位是低电平有效,即该位为0时执行写操作,为1时执行读操作,这和标准I2C协议的R/W位定义完全一致,ADXL357没有做自定义修改。
内容的提问来源于stack exchange,提问作者lasb3tas
相关产品推荐
相关产品推荐

