Существуют ли общедоступные макросы выводов C/C++ для ESP32?
Кажется, довольно часто используются макросы D0
, D1
, Dn
при написании C/C++ для ESP8266. Но для библиотек ESP32 таких макросов не существует. Распространено ли просто использовать целые номера контактов? т.е. D14
всегда просто 14
? Кажется, все примеры, с которыми я сталкивался, делают это.
В ESP32 DevKit V1 рядом с номерами портов на плате напечатан Dn
... поэтому я был немного удивлен отсутствием коррелирующих макросов. Конечно, я мог бы определить их и сам, но есть ли смысл?
@Nick Bolton, 👍0
Обсуждение0
Смотрите также:
- esp32 Stack canary watchpoint срабатывает
- Почему функция server.on() из "ESPAsyncWebServer.h" выполняется на стороне setup(), а не на стороне loop()?
- ESP32 отправляет данные на другой ESP32 без установления соединения Wi-Fi
- Передача нестатической функции-члена с помощью bind
- Увеличить частоту дискретизации на плате ESP32
- Отправить только один пакет с одного ESP32 на другой ESP32 без подтверждения
- Использование лямбд в качестве функций обратного вызова
- Каков наилучший способ преобразования std::string в строку?
Соглашение об именах 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