|
|
Строка 13: |
Строка 13: |
|
| |
|
| =Именование gpio= | | =Именование gpio= |
| К сожалению, четкого стандарта по именованию gpio не существует, но при работе с контроллерами WirenBoard стоит придерживаться следующих правил: | | К сожалению, четкого стандарта по именованию gpio не существует. Номера, смещения и названия gpiochip стоит брать в таблицах: [[GPIO | Таблицы GPIO разных версий контроллера]]. |
| * выводы gpio сгруппированы по банкам (''banks''; эквивалентно ''gpiochips'')
| |
| * каждый банк содержит 32 gpio. Нумерация банков начинается с 0.
| |
| | |
| ==Вычисление номера gpio==
| |
| Для управления ножкой gpio нужно знать её номер. В рассматриваемых примерах будем работать с gpio ''A1_IN'' контроллера WB6.7 (''номер: 109; gpiochip 3, offset 13''):
| |
| Вычислим банк gpio и offset, зная номер (109):
| |
| <syntaxhighlight lang="bash">
| |
| # Поделим 109 на 32. Целая часть — номер банка, остаток - offset:
| |
| 109.0 / 32.0 = 3, остаток 13
| |
| </syntaxhighlight>
| |
| | |
| То же самое справедливо и наоборот. Зная банк и offset (3 и 13, соответственно), можно вычислить номер gpio:
| |
| <syntaxhighlight lang="bash">
| |
| # Умножим номер банка на 32 и прибавим offset:
| |
| 3 * 32 + 13 = 109
| |
| </syntaxhighlight>
| |
|
| |
|
| =Работа из userspace= | | =Работа из userspace= |