2017-12-19 17 views
0

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.javaPico i.MX7D에서 SPI를 여는 방법

은 내가 피코 i.MX7D 보드와 같은 결과를 달성하기 위해 노력하고 있지만 "SPI3 (SS0)" 또는 "SPI3.0" 또는 GPIO6_IO26 내가 때마다 android.os.ServiceSpecificException: Unknown I/O name SPI3 (SS0) (code 19) (로 이름을 바꾸을 얻을로 opent에 예를 들어, CS 포트를 사용해보십시오 여부 앞의 예제 중 하나).

피코에서 SPI gpio를 열어서 Pi에 대한 내 논리를 다시 사용할 수 있습니까?

+0

실행중인 AndroidThings의 버전은 무엇입니까? – Blundell

+0

0.6.1. 오늘 아침에 피코가 번쩍 들었어. – TomaszRykala

+0

''SPI3.1 "'https://github.com/androidthings/drivers-samples/blob/master/apa102/src/main/java/com/example/androidthings/driversamples/BoardDefaults.java#L36 – Blundell

답변

1

Android Things에서는 신호 이름이 함수에 묶여 있습니다. RPi3 보드는 동적 핀 우어 지원을 사용하여 주변 I/O가 런타임에 대체 기능을 위해 동일한 핀을 열 수 있습니다. 각 기능에는 고유 한 신호 이름이 있습니다 (예 : BCM8SPI0.SS0은 동일한 물리적 핀임). 이것이 pinout diagram에 특정 핀에 대해 여러 개의 신호 이름이있는 테이블이있는 이유입니다.

피코 보드에는 현재 내부 핀 뮤스 지원이 없으므로 각 핀에 사용할 수있는 대체 신호가 없습니다. 각 핀에는 전용 기능이있어서 pinout diagram에는 각각 하나의 신호 이름 만 표시됩니다.

+0

대체 기능에서 SPI0 핀을 열면 SPI 버스와 전혀 상호 작용하지 않는다는 것을 의미합니까? – TomaszRykala

+1

나는 그 질문을 이해할 수 있을지 확신하지 못한다. 'SpiDevice' 이외에는'SPI0.1'과 같은 신호명을 절대로 보내지 않을 것입니다. 동일한 물리적 핀 (예 :'BCM8') 중 하나를 'Gpio'로 여는 경우 칩의 SPI 하위 시스템을 통과하지 못합니다. – Devunwired