Search found 5 matches

by aerkiaga
Tue Nov 01, 2022 2:39 pm
Forum: ESP32 Arduino
Topic: Can't manage to get UART DMA working
Replies: 5
Views: 3451

Re: Can't manage to get UART DMA working

Unfortunately it's still flipping some bits in the first and fourth bytes of each block... Will investigate more.
by aerkiaga
Tue Nov 01, 2022 1:10 pm
Forum: ESP32 Arduino
Topic: Can't manage to get UART DMA working
Replies: 5
Views: 3451

Re: Can't manage to get UART DMA working

Yes, thanks for pointing it out! I had tried setting the ESP32_UHCI_OUT_DONE_INT_ENA bit in ESP32_UHCI0_INT_ENA_REG, but incidentally I had left behind a line wherein I also set ESP32_DPORT_APP_UHCI0_INTR_MAP_REG. Deleting it affords the interrupt.
by aerkiaga
Mon Oct 31, 2022 7:46 pm
Forum: ESP32 Arduino
Topic: Can't manage to get UART DMA working
Replies: 5
Views: 3451

Re: Can't manage to get UART DMA working

Now I think the problem is can't manage to get UHCI interrupts working. I've tried using esp_intr_alloc with ETS_UHCI0_INTR_SOURCE as source, as well as doing the process manually: // enable level 1 interrupts *ESP32_PIDCTRL_INTERRUPT_ENABLE_REG = ESP32_PIDCTRL_INTERRUPT_ENABLE(0x1); // set handler ...
by aerkiaga
Mon Oct 31, 2022 6:42 pm
Forum: ESP32 Arduino
Topic: Can't manage to get UART DMA working
Replies: 5
Views: 3451

Re: Can't manage to get UART DMA working

Partially fixed the issue. I added this code before the current UART setup code: // enable UART-related clocks *ESP32_DPORT_PERIP_CLK_EN_REG |= ESP32_DPORT_UART_MEM_CLK_EN | ESP32_DPORT_UHCI0_CLK_EN | ESP32_DPORT_UART_CLK_EN ; // release UART-related modules from reset *ESP32_DPORT_PERIP_RST_EN_REG ...
by aerkiaga
Sun Oct 30, 2022 3:23 pm
Forum: ESP32 Arduino
Topic: Can't manage to get UART DMA working
Replies: 5
Views: 3451

Can't manage to get UART DMA working

So, I've started using my ESP32 board with the Arduino IDE. I read the programming manual to learn how to configure and use the hardware, then wrote a C header file with all register and bit mask definitions (which I'll omit for brevity). This is my code: char alignas(uint32_t) out_buffer[16] = "Hel...