Wie man herausfindet, ob das ESP-IDF-Framework verwendet wird, mit dem Präprozessor (PlatformIO)

Sie können Wie man alle Präprozessor-Flags in PlatformIO ausgibt verwenden, um Präprozessor-Flags auszugeben. Sie können alle ESP-IDF-bezogenen Flags finden mit

print_pio_flags.sh
cat .pio/build/esp32dev/src/main.o | grep IDF

was - mit einer leeren main.c-Datei - einfach

idf_version_define.txt
#define IDF_VER "5.1.2"

Beachten Sie, dass IDF_VER auch für Arduino definiert ist, da es intern von Arduino verwendet wird.

Sie können also die folgende Überprüfung verwenden, die zwischen Arduino & ESP-IDF unterscheidet

esp_idf_check.cpp
#if !defined(ARDUINO) && defined(IDF_VER)
  // ESP-IDF-Code kommt hier
#else
  // Nicht-ESP-IDF-Code kommt hier
#else

Check out similar posts by category: ESP8266/ESP32