Как настроить контакты GPIO в режиме GPIO.TEGRA_SO C по сравнению с режимом GPIO.BCM с помощью Jetson nano GPIO? - PullRequest
1 голос
/ 05 апреля 2020

при поиске ряда примеров того, как настроить gpio с использованием режима GPIO.BCM (в котором номера выводов эквивалентны RPI (см. Изображение и nvidia / jetson-gpio ), я не смог найти Пример установки пинов в режиме GPIO.TEGRA_SO C. Поэтому, покопавшись в библиотеке gpio, я решил поделиться этим упорядоченным образом. См. ответ ниже.

jetson nano gpio layout

1 Ответ

1 голос
/ 05 апреля 2020

режим BCM, определение выводов 9 (сигнал от нано выхода. Например, триггера) и 11 (сигнал от датчика в nan0) -

import Jetson.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(9, GPIO.OUT)
GPIO.setup(11, GPIO.IN)

после настройки, получение значения от входного контакта -

GPIO.input(11)

после настройки, установка значения с выходного контакта - режим

GPIO.output(9, False)
GPIO.output(9, True)

TEGRA_SO C, определение контактов 9 и 11, как и раньше. заменить номер идентифицирующими именами строк {9: 'SPI1_MISO', 11: 'SPI1_SCK'}

import Jetson.GPIO as GPIO
GPIO.setmode(GPIO.TEGRA_SOC)
GPIO.setup('SPI1_MISO', GPIO.OUT)
GPIO.setup('SPI1_SCK', GPIO.IN)

после настройки, получение значения из входного контакта -

GPIO.input('SPI1_SCK')

после настройки, настройка значение с выходного контакта -

GPIO.output('SPI1_MISO', False)
GPIO.output('SPI1_MISO', True)

в целом, для распечатки имен всех выводов gpio в каждом возможном режиме: ['BOARD', 'BCM', 'CVM', 'TEGRA_SO C'] использование -

print(GPIO.gpio_pin_data.get_data()[-1])
...