在ADB Shell中,PIO未接I2C设备

时间:2019-03-25 15:37:06

标签: adb gpio i2c android-things magnetometer

ADB PIO未拾取I2C设备(HMC5883L磁力计)。

我已将磁力计正确连接到VCC,GND,SDA和SCL。然后在adb shell中,我使用pio i2c I2C1 0x3D read-raw 1,它给了我[WARNING:client_errors.cc(35)] error 6: No such device or address

我想知道我缺少什么,任何帮助将不胜感激!

Stats:
Android-Things
NXP i.MX7d on PICO-Pi
HMC5883L 3 Axis Magnetometer on I2C
Android Studio - Command Line ADB

1 个答案:

答案 0 :(得分:2)

  

我已将磁力计正确连接到VCC,GND,SDA和SCL。然后在adb shell中,我使用pio i2c I2C1 0x3D read-raw 1,它给了我[WARNING:client_errors.cc(35)] error 6: No such device or address

根据HMC5883L datasheet,此命令可能有几处错误:

  1. 设备使用基于寄存器的访问,这意味着原始读取可能会失败。您应该使用read-reg-byte之类的命令来测试与设备的通信。
  2. I2C设备地址为0x1E。数据表为您提供了完整的地址全8位格式(根据R / W位的不同,分别为0x3D0x3C),这有点令人困惑。

因此,发送和测试设备的更好命令是此命令,该命令应报告STATUS寄存器的值:

$ pio i2c I2C1 0x1E read-reg-byte 0x09

如果使用上述命令仍然收到相同的错误,请检查pinout diagram以确认您已连接到正确的I2C端口(I2C1与I2C2)。