Cubieboard. GPIO: Введение

Для программирования у cubieboard доступно 67 выводов GPIO. Для их активации необходимо править fex файл и скомпилировать ядро с поддержкой драйвера GPIO. Однако все эти манипуляции уже проделаны в Cubian.

В первую очередь нужно знать где находятся необходимые пины. Карта пинов уже любезно составлена разработчиком cubian. 

cubieboard pinout

Например мы хотим активировать пин PG9 GPIO. Из карты пинов видим что этот пин под номером 17.
Итак:

cubie@Cubian:~$ echo 17 > /sys/class/gpio/export
cubie@Cubian:~$ ls /sys/class/gpio/
export  gpio17_pg9  gpiochip1  unexport

вывод ls показывает что пин Pg9 активирован удачно.
Дальше надо активировать режим работы пина. GPIO пин может работать как на вход, так и на выход. Например, сделаем пин PG9 выходом.

cubie@Cubian:~$ echo out > /sys/class/gpio/gpio17_pg9/direction

Теперь можем получить значение на пине

cubie@Cubian:~$ cat /sys/class/gpio/gpio17_pg9/value 0

Т.е. по умолчанию на пине низкий уровень (LOW).

Дальше можно попробовать вывести единицу или ноль на пин (LOW или HIGH уровень).

cubie@Cubian:~$ echo 1 > /sys/class/gpio/gpio17_pg9/value

Чтобы сделать пин входом прописываем:

echo in > /sys/class/gpio/gpio17_pg9/direction