Wie man ESP32 rmt: rmt_transmit(466): loop count is not supported repariert

Wenn Sie auf dem ESP32

rmt_transmit_error.txt
rmt: rmt_transmit(466): loop count is not supported

antreffen, liegt das daran, dass Sie ein rmt_transmit_config_t mit explizit gesetztem loop_count verwendet haben.

rmt_cfg_with_loop.cpp
rmt_transmit_config_t cfg = {
  .loop_count = 1,
  .flags = {
        .eot_level = 0,
    }
};
ESP_ERROR_CHECK(rmt_transmit(/* ... */, &cfg));

aber Ihr IC (z.B. ESP32-D0WD-V3) keinen Hardware-Loop-Modus unterstützt.

Die Reparatur ist einfach: Kommentieren Sie einfach die .loop_count-Zeile aus:

rmt_cfg_without_loop.cpp
rmt_transmit_config_t cfg = {
  //.loop_count = 1, // DISABLED as chip does not support it
  .flags = {
        .eot_level = 0,
    }
};
ESP_ERROR_CHECK(rmt_transmit(/* ... */, &cfg));

Beachten Sie, dass wenn Sie .loop_count auf seinem Standardwert belassen, es immer so agiert, als ob .loop_count = 1.


Check out similar posts by category: C/C++, ESP8266/ESP32