Конфигурирование пинов ввода-вывода (не только GPIO)

Материал из virt2real wiki
Перейти к: навигация, поиск

Содержание

Общая информация

Виртурилка имеет 86 контактов на гребёнке с пинами.

Часть пинов задействована под конкретное назначение (+3.3V, +5V, GND, TV_OUT, и т.д.), но большинство остальных является GPIO - General Purpouse Input/Output, пинами ввода/вывода общего назначения.

Помимо функций GPIO, многие из контактов имеют несколько переключаемых функций (от одной до четырёх).

В один момент времени пин может быть сконфигурирован только под одну конкретную функцию.

Отличия GPIO от CON

Так как не все физические пины Виртурилки являются GPIO, а не любой GPIO выведен на физический пин, было введено понятие CON (коннектор).

На Виртурилке все пины выполнены в виде двух двурядных гребёнок. Если смотреть с лицевой стороны (где пины торчат) в положении "microSD слот внизу", левая гребёнка это J2, правая гребёнка - J14.

Схему можно посмотреть в разделе Схема компонентов virt2real 1.1

Чтобы можно было точно указать на требуемый пин была введена сквозная нумерация пинов, от CON1 до CON86.


Подробное описание команд изложено на странице http://wiki.virt2real.ru/wiki/V2r_pins


Установка пинов CON с использованием драйвера /dev/v2r_pins

echo "set con <номер_CON> <direction> <value>" > /dev/v2r_pins

Например, назначить CON44 как выход и установить значение 1

echo "set con 44 output 1" > /dev/v2r_pins


Чтение состояния пинов CON

Аналогично драйверу v2r_gpio, только считываются состояния не по номерам GPIO, а по номерам CON

cat /dev/v2r_pins


Практическое применение

Драйвер v2r_pins отличается от драйвера v2r_gpio именно тем что работает именно с CON, тогда как v2r_gpio оперирует номерами GPIO.

Для примера можно посмотреть раздел Управление сервомотором или PWM