Якщо ви отримали таку помилку під час виклику rmt_transmit():
esp32_rmt_fix.txt
rmt: rmt_transmit(476): channel not in enable stateвикличте
rmt_enable_fix.cpp
ESP_ERROR_CHECK(rmt_enable(channel));після виклику rmt_new_tx_channel().
Повний приклад ініціалізації
rmt_full_init_example.cpp
rmt_channel_handle_t channel;
rmt_tx_channel_config_t tx_chan_config = {
.gpio_num = GPIO_NUM_19, // номер GPIO
.clk_src = RMT_CLK_SRC_DEFAULT, // виберіть джерело тактового сигналу
.resolution_hz = 1 * 1000 * 1000, // роздільна здатність 1 МГц
.mem_block_symbols = 64, // розмір блоку пам'яті, 64 * 4 = 256 байт
.trans_queue_depth = 1, // встановіть кількість транзакцій, які можуть очікувати у фоновому режимі
};
ESP_ERROR_CHECK(rmt_new_tx_channel(&tx_chan_config, &channel));
ESP_ERROR_CHECK(rmt_enable(channel));
Дивіться схожі статті за категоріями:
ESP8266/ESP32
Якщо ця стаття допомогла вам, будь ласка, подумайте про те, щоб купити мені каву або зробити пожертву через PayPal на підтримку досліджень та публікації нових статей на TechOverflow