Doka avatar

Журнал Эмбеддед-Инженера

О микроэлектронике, радиотехнике и хобби

Dmitry Murzinov

1 минута чтения

Распиновка для разных версий ESP32

Универсальный рецепт:

I2C

как сделать переназначение:

#define SDA 33
#define SCL 32
Wire.begin(SDA, SCL)

ESP32

  • SDA (default is GPIO 21)
  • SCL (default is GPIO 22)

ESP32-C3

  • SDA (default is GPIO 8)
  • SCL (default is GPIO 9)

CAN

ESP32-C3

  • TX: 4
  • RX: 5

Встреченные траблы ESP32

Периодические перезагрузки

Периодические перезагрузки в Arduino IDE на некоторых скечах

Проявляется в логе так:

task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
task_wdt: CPU 0: loopTask

лечится добавлением disableCore0WDT(); в setup(), есть еще советы по добавлению vTaskDelay(10); в loop() - но в моем случае не помогло.

Ссылки:

Периодические перезагрузки при использовании PlatformIO

Проявляется так, что в логе вместо нормального вывода видны вот такие строки: ets_loader.c 79 и периодические перезагрузки по вачдогам:

rst:0x10 (RTCWDT_RTC_RST),boot:0xe (SPI_FAST_FLASH_BOOT)
rst:0x7  (TG0WDT_SYS_RST),boot:0xe (SPI_FAST_FLASH_BOOT)

Лечится добавлением в platform.ini такой строчки:

board_build.flash_mode = dio

После чего желательно почистить кеш сборки:

pio run --target clean

Arduino IDE

Исходники: https://github.com/espressif/arduino-esp32/tree/master/cores/esp32

Platform IO

Включение дебага в PlatformIO

monitor_filters  = esp32_exception_decoder
build_type = debug

Отключение телеметрии

enable_telemetry = No

Проблемы со сборкой (С++ STL)

Во избежании проблем со сборкой все сишные файлы должны иметь расширение .cpp

Последние записи

Разделы