Android I2C不';我不想用安卓系统做树莓皮3

Android I2C不';我不想用安卓系统做树莓皮3,android,raspberry-pi3,i2c,android-things,Android,Raspberry Pi3,I2c,Android Things,如何检测问题?我想在I2C总线上找到一个设备。它找到了总线,但没有找到任何设备。我有两个主板,两个不同的设备(AM2321和转换器I2C->3wire),并尝试了不同的组合。我做错了什么,但不明白,到底是什么 val bus = manager.i2cBusList.first() // in my device one and only one bus now Log.d("happy", "bus: $bus") val devices = (0..127).fil

如何检测问题?我想在I2C总线上找到一个设备。它找到了总线,但没有找到任何设备。我有两个主板,两个不同的设备(AM2321和转换器I2C->3wire),并尝试了不同的组合。我做错了什么,但不明白,到底是什么

    val bus = manager.i2cBusList.first() // in my device one and only one bus now
    Log.d("happy", "bus: $bus")

    val devices = (0..127).filter { address ->
        manager.openI2cDevice(bus, address).use { device ->
            try {
                device.write(ByteArray(1), 1)
                true
            } catch (e: IOException) {
                false
            }
        }
    }

    if (devices.isEmpty()) {
        Log.d("happy", "no devices")
    } else {
        devices.forEach { address ->
            Log.d("happy", "device $address")
        }
    }

Android Things DP 6可用于检测问题:

范例

$ pio i2c I2C1 0x10 write-reg-byte 0x20 0x40
$ pio i2c I2C1 0x12 read-reg-byte 0x24 0x7F

另外,还可以查看和教程。

谢谢。很好的资源,但对我来说仍然不起作用pio'返回与我的代码相同的错误。而且没有现成的扫描仪。似乎硬件有问题,但不知道如何检测。我将安装本机linux并从那里开始尝试。我肯定使用过I2C,它工作得很好。你能试试其他组件吗?也许I2C引脚坏了?如果“'pio'返回与我的代码相同的错误”-您的代码没有问题。可能是电线连接有问题,或者I2C引脚断裂。
$ pio i2c I2C1 0x10 write-reg-byte 0x20 0x40
$ pio i2c I2C1 0x12 read-reg-byte 0x24 0x7F