Якщо ви зіткнулися з
rmt_transmit_error.txt
rmt: rmt_transmit(466): loop count is not supportedна ESP32, це тому, що ви використали rmt_transmit_config_t з явно заданим loop_count.
rmt_cfg_with_loop.cpp
rmt_transmit_config_t cfg = {
.loop_count = 1,
.flags = {
.eot_level = 0,
}
};
ESP_ERROR_CHECK(rmt_transmit(/* ... */, &cfg));але ваш мікроконтролер (наприклад, ESP32-D0WD-V3) не підтримує апаратний режим циклу.
Виправити це легко: просто закоментуйте рядок .loop_count:
rmt_cfg_without_loop.cpp
rmt_transmit_config_t cfg = {
//.loop_count = 1, // ВИМКНЕНО, оскільки чіп не підтримує це
.flags = {
.eot_level = 0,
}
};
ESP_ERROR_CHECK(rmt_transmit(/* ... */, &cfg));Зверніть увагу, що якщо ви залишите .loop_count зі значенням за замовчуванням, він завжди діятиме так, ніби .loop_count = 1.
Дивіться схожі статті за категоріями:
C/C++ ESP8266/ESP32
Якщо ця стаття допомогла вам, будь ласка, подумайте про те, щоб купити мені каву або зробити пожертву через PayPal на підтримку досліджень та публікації нових статей на TechOverflow