Микроконтроллер ESP32 имеет 48 выводов с несколькими функциями. Не все пины доступны на всех платах разработки ESP32, и некоторые из них нельзя использовать.
Возникает множество вопросов о том, как правильно использовать GPIO-пины на ESP32. Какие пины следует использовать в своем проекте, а какие лучше избегать? Целью данной статьи является создание простого и легкодоступного справочника по GPIO-пинам на ESP32.
На рисунке ниже представлена распиновка модуля ESP-WROOM-32. Этот рисунок может быть использован в качестве справочника при создании пользовательских плат на базе ESP32:
Примечание
Обратите внимание, что не все GPIO доступны на всех платах разработки, но каждый конкретный GPIO будет работать одинаково, независимо от платы разработки, которую вы используете.
Периферийные устройства ESP32
Периферийные устройства ESP32 включают в себя следующие компоненты:
10 программируемых пинов общего назначения с возможностью емкостного сенсорного ввода.
Характеристики АЦП и ЦАП зафиксированы на определенных статических пинах. Однако, пользователь может назначить любой пин на функцию UART, I2C, SPI, PWM или другую - для этого достаточно задать нужную конфигурацию в коде. Возможность такого мультиплексирования функций реализуется за счет особенностей микросхемы ESP32.
Хотя конфигурацию свойств пинов можно задать программно, некоторые из пинов уже имеют определенную функцию по умолчанию. На приведенной ниже фигуре приведен пример расположения пинов на плате ESP32 DEVKIT V1 DOIT с 36 контактами (расположение пинов может меняться в зависимости от производителя).