Работа с GPIO: различия между версиями

Нет описания правки
Строка 12: Строка 12:
<!--T:2-->
<!--T:2-->
Соответствие между номерами GPIO в Linux и их местоположением и функцией можно найти в статье [[GPIO]].
Соответствие между номерами GPIO в Linux и их местоположением и функцией можно найти в статье [[GPIO]].
=Именование gpio=<!--T:6-->
К сожалению, четкого стандарта по именованию gpio не существует, и формирование номеров gpio зависит от производителей процессоров (а точнее - от разработчиков SDK для них). В контроллерах WirenBoard используются следующие правила:
* выводы gpio сгруппированы по банкам (banks; эквивалентно gpiochips)
* каждый банк содержит 32 gpio. Нумерация банков начинается с 0.
==Вычисление номера gpio==<!--T:6-->
Для управления ножкой gpio нужно знать её номер. В рассматриваемых примерах будем работать с gpio A1_IN контроллера WB6.7 (номер: 109; gpio3_io13):
<!--T:7-->
Вычислим банк gpio и offset, зная номер (109):
<pre>
# Поделим 109 на 32. Целая часть - номер банка, остаток - offset:
109.0 / 32.0 = 3, остаток 13
</pre>


=Работа из userspace=<!--T:6-->
=Работа из userspace=<!--T:6-->
wb_editors
556

правок