在使用RPi3的Android Things项目中,我将MCP3008 ADC分别连接到SPI CS / MISO / MOSI / SCLK引脚BCM8 / BCM9 / BCM10 / BCM11,打开它们service.openGpio(<pin>)
并定期扫描以读取连接的电位器的模拟输入。完整来源:https://github.com/tomaszrykala/MidiMixerAndroidThings/blob/master/things/src/main/java/com/tomaszrykala/midimixerandroidthings/control/adc/MCP3008.java
我试图用Pico i.MX7D板实现相同的结果,但是我是否尝试用"SPI3 (SS0)"
或"SPI3.0"
或GPIO6_IO26
打开CS端口我每次都得到android.os.ServiceSpecificException: Unknown I/O name SPI3 (SS0) (code 19)
(用前面任何一个例子替换名称)。
有没有办法通过在Pico上打开SPI gpio来重用我的逻辑?
在Android Things中,信号名称与功能相关联。 RPi3板使用动态pinmux支持,允许外设I / O在运行时打开相同的引脚以实现备用功能。但是,每个函数都有一个唯一的信号名称(例如BCM8
和SPI0.SS0
是相同的物理引脚)。这就是为什么pinout diagram有一个表格,其中包含某些引脚的多个信号名称。
Pico板目前没有内部pinmux支持,因此每个引脚都没有可用的备用信号。每个引脚都有一个专用功能,这就是为什么pinout diagram只为每个引脚显示一个信号名称。