在ADB Shell中,PIO没有采用I2C设备

问题描述 投票:1回答:1

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
adb gpio i2c android-things magnetometer
1个回答
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。数据表以完整字节(0x3D0x3C,取决于R / W位)为您提供完整的8位地址格式,这有点令人困惑。

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.