I'm trying to get RMT working, but it currently always hangs indefinitely on rmt_write_items when wait_tx_done is true, regardless of how few or many items I try to send.
This is how I initialize my RMT channel (0), is there something missing?
Code: Select all
rmt_set_pin(channel, RMT_MODE_TX, io_pin);
rmt_set_clk_div(channel, clock_divider);
rmt_set_source_clk(channel, RMT_BASECLK_APB);
rmt_set_idle_level(channel, false, RMT_IDLE_LEVEL_LOW);
rmt_set_memory_owner(channel, RMT_MEM_OWNER_TX);
rmt_set_err_intr_en(channel, false);
rmt_set_mem_block_num(channel, 1);
rmt_set_mem_pd(channel, false);
rmt_set_tx_carrier(channel, false, 0, 0, RMT_CARRIER_LEVEL_LOW);
rmt_set_tx_loop_mode(channel, true);
rmt_set_rx_filter(channel, false, 0);
rmt_set_rx_intr_en(channel, false);
ESP_ERROR_CHECK(rmt_driver_install(channel, 0, 0));
Thanks in advance.