Существуют ли общедоступные макросы выводов C/C++ для ESP32?

Кажется, довольно часто используются макросы D0, D1, Dn при написании C/C++ для ESP8266. Но для библиотек ESP32 таких макросов не существует. Распространено ли просто использовать целые номера контактов? т.е. D14 всегда просто 14? Кажется, все примеры, с которыми я сталкивался, делают это.

В ESP32 DevKit V1 рядом с номерами портов на плате напечатан Dn... поэтому я был немного удивлен отсутствием коррелирующих макросов. Конечно, я мог бы определить их и сам, но есть ли смысл?

, 👍0

Обсуждение

Соглашение об именах Dx предназначено для платформы Arduino, для ESP32 некоторые платы имеют определение, соответствующее соглашению о выводах Arduino, например, [эта плата] (https://github.com/espressif/arduino-esp32/blob/master /variants/XIAO_ESP32C3/pins_arduino.h), но некоторые другие платы [нет] (https://github.com/espressif/arduino-esp32/blob/master/variants/adafruit_feather_esp32s3/pins_arduino.h) и предпочитают просто используйте вывод GPIO., @hcheung

Это зависит от используемого ядра и варианта. Вы можете посмотреть определенные макросы для вашей платы в исходных файлах (у меня в ~/.arduino15/packages/esp32/hardware/esp32/2.0.5/variants). Для каждого варианта вы найдете pins_arduino.h с определениями, @chrisl

Было бы проще и менее запутанно для людей, если бы схема нумерации D# умерла. Так что, как бы хорошо ни было знать о них, я не уверен, что призываю вас использовать их вместо номеров GPIO., @timemage

Я согласен. Я думаю, что макросы для контактов были созданы для повторного сопоставления контактов GPIO с другими номерами (по какой-то причине), но в ESP32 это не требуется. Досадно, что на ATtiny есть два способа нумерации контактов; по часовой стрелке и против часовой стрелки. Очень запутанно., @Nick Bolton