Распределение GPIO

информация для изучения

ESP8266-01, 07 и т.п.
Закрыто
starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

Распределение GPIO

#1

Сообщение starshoy81 » 07.09.2018{, 17:10}

РАСПРЕДЕЛЕНИЕ GPIO У ESP8266

Общее данные
Программные номера контактов соответствуют номерам выводов GPIO ESP8266. Например для чтения GPIO2, нужно вызвать digitalRead(2);

Все цифровые входы/выходы защищены от перенапряжения и ESD цепью между выводом и землей. Напряжения пробоя около 6 вольт.
Рабочее напряжение на контактах: -2v < VCC < +2В

При старте все контакты сконфигурированы как INPUT.

GPIO0-GPIO15 могут быть INPUT, OUTPUT, или INPUT_PULLUP.

GPIO16 может быть INPUT, OUTPUT, или INPUT_PULLDOWN_16.
Он так же используется в режиме XPD для deepSleep() (не забываем про подтяжку и небольшой конденсатор).

GPIO6-GPIO11 используется для интерфейса к флешпамяти, и их задействовать нельзя. Однако на некоторых версиях можно использовать GPIO9 и GPIO10, указав режим DOUT работы с флешпамятью.

Аналоговый вход
ESP8266 имеет встроенный аналоговый вход общего назначения, разрядностью 10-бит, диапазон значений 0-1023. Напряжение работы 0 - 1.06В. Аналоговый вход не может быть использован при работе WiFi, либо прочитанные данные могут быть не точны.
analogRead(A0) позволяет читать аналоговый сигнал и подсоединен к выводу TOUT.

Прерывания
Прерывания могут быть назначены на любые контакты кроме GPIO16.

ШИМ / PWM
analogWrite(pin, value) включает програмный PWM на всех контактах кроме GPIO16.
analogWrite(pin, 0) выключает PWM. Диапазон значений 0 - 1023.

Назначение контактов
Наиболее часто используемые функции выводов можно назначит использую макро SPECIAL например: pinMode(pin, SPECIAL)
позволяет установить назначение контактов:

UART RX/TX на выводах 1 - 3,
HSPI на выводах 12-15,
CLK на выводах 0, 4 и 5.

SPECIAL назначается:

CLK_OUT
TX0
TX1
RX0
CLK_XTAL
CLK_RTC
SPI_MISO
SPI_MOSI
SPI_CLK
SPI_SS

Так же можно назначить используя макро FUNCTION pinMode(pin, FUNCTION1)


Загрузочная конфигурация
У ESP8266 есть три режима загрузки: режим SDIO, UART режим и FLASH режим. Конфигурация происходит подачей высокого/низкого состояния при включении питания на контакты: GPIO15, GPIO0 и GPIO2:

0 Низкий уровень
1 Высокий уровень
x не подсоединенный контакт

MODE GPIO15 GPIO0 GPIO2
SDIO (Загрузка с SDcard) 1 x x
UART (Загрузка программы) 0 0 x or 1
FLASH (Режим обычной работы) 0 1 x or 1
Note :- GPIO2 Лучше подтягивать к напряжению питания, так как при программной подтяжке он может перегореть. Источник.

LED контакт
GPIO1, он же TX, часто подсоединен к голубому LED. При подачи логического нуля, LED включается.

Ток нагрузки выходов
Максимальный допустимый ток на выходе 12mA. если потребение нагрузки больше то необходимо установить токограничивающий резистор, чтобы потребление было меньше 12mA. Пример - R=(Vout-Vled)/I и так: (3.3V-1.8V красный LED) при 12mA = минимум 125Ω.

Взял на странице http://espiot.ru/raspriedielieniie-gpio-u-esp8266/
esp8266chip.jpg
esp8266chip.jpg (30.88 КБ) 5302 просмотра
esp8266_esp12e_horizontal-01.png
Классическая схема для прошивки ЕСП с сайта esp8266.ru
esp8266_scheme-full-autoprog1.jpg

Закрыто

Вернуться в «Справка по ESP8266»