如何修复 ESP32 rmt: rmt_transmit(466): loop count is not supported
如果你在 ESP32 上遇到
rmt_transmit_error.txt
rmt: rmt_transmit(466): loop count is not supported这是因为你使用了显式设置 loop_count 的 rmt_transmit_config_t。
rmt_cfg_with_loop.cpp
rmt_transmit_config_t cfg = {
.loop_count = 1,
.flags = {
.eot_level = 0,
}
};
ESP_ERROR_CHECK(rmt_transmit(/* ... */, &cfg));但你的 IC(如 ESP32-D0WD-V3)不支持硬件循环模式。
修复很简单:只需注释掉 .loop_count 行:
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));注意,如果你将 .loop_count 保留为默认值,它将始终像 .loop_count = 1 一样工作。
Check out similar posts by category:
C/C++, ESP8266/ESP32
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow