我正在尝试将一些代码移植到AndroidThings。目前它使用“GPIO 3(SCL)”作为Raspberry Pi上的引脚。 https://github.com/mattdh666/rpi-led-matrix-panel/blob/master/RgbMatrix.h#L206
然而在AndroidThings上,相同的引脚是“I2C1(SCL)”,因此我无法使用peripheralManService.openGpio("BCM3")
引用它
see here for Pinout diagram
try {
gpioSerialClock = service.openGpio("BCM3"); // Throws Caused by: android.os.ServiceSpecificException: Unknown I/O name BCM3
} catch (IOException e) {
throw new IllegalStateException(e);
}
我应该将我的电线移动到使用标记为GPIO的Raspberry Pi上的另一个引脚吗?是否有任何后果:/我的外设想要使用BCM3,因为它是串行时钟
如果需要,可以对所选引脚进行更直观的解释:
答案 0 :(得分:1)
您移植的代码假设所有连接的引脚都是纯GPIO引脚。它明确地驱动每个引脚的所有引脚转换。在这方面,您只需要13个可用的GPIO端口即可连接到RGB矩阵。您只需对布线进行适当调整,以使示例中的引脚编号与您选择的端口相匹配。
这不是处理来自Android Things的通信的最有效方式(许多往返和I / O循环),但它应该作为一个开始。理想情况下,您可以从SPI或I2C总线驱动时钟串行数据(如果协议匹配),以减少开销并提高传输速率。