Особенности работы с GPIO


Предыдущая | Следующая

При работе с портами GPIO следует помнить о некоторых их особенностях и соблюдать определенные меры предосторожности, чтобы не повредить Raspberry Pi.

Вот основные из них:

* максимальный суммарный ток обоих выводов 3,3 В равен 50 мА, и эти выводы могут использоваться для питания внешних устройств только в том случае, если их потребляемый ток меньше 50 мА;

* максимальный суммарный ток обоих выводов 5 В равен 300 мА, и эти выводы также могут использоваться для питания внешних устройств только в том слу­чае, если их потребляемый ток меньше 300 мА;

* на GPIO нельзя подавать напряжение больше 3,3 В! Цифровые выводы GPIO имеют уровни напряжения 0-3,3 В и не совместимы с традиционными уровнями напряжения 0-5 В. Если подать на вывод GPIO логическую единицу, представляющую собой 5 В (а не 3,3 В), — этот вывод может выйти из строя;

* выводы GPIO14 и GPIO15 по умолчанию выполняют альтернативную функцию и являются выводами UART (RXD и TXD), поэтому после включения на них присутствует высокий уровень 3,3 В, однако программно их можно переконфигурировать в обычные выводы. Все остальные выводы GPIO после включе­ния Raspberry Pi выполняют основную функцию и работают как обычные цифровые;

* все настраиваемые выводы GPIO — кроме GPIOO (SDA) и GPIO1 (SCL) — по умолчанию являются входами, и поэтому имеют высокое входное сопротивле­ние, при этом подтяжка логического уровня у них не включена, так что после включения Raspberry Pi напряжение на них может "плавать";

* выводы GPIOO (SDA) и GPIO1 (SCL) по умолчанию "подтянуты" к питанию, поэтому после включения Raspberry Pi на них присутствует напряжение логиче­ской единицы (3,3 В);

* сигнал на любом из цифровых выводов может служить источником внешнего прерывания.

Нужно помнить, что GPIO — это выводы, непосредственно подключенные к процессору Raspberry Pi, они являются инструментом для взаимодействия с ним. Поэтому неосторожное обращение с GPIO может привести к необратимым последствиям для процессора.

Работать с GPIO можно двумя способами:

* используя оболочку bash и файловую систему Raspbian;

* используя языки программирования.