Page 1 of 1

UART hardware buffer setting question

Posted: Sat Feb 12, 2022 4:36 am
by zliudr
I'm trying to configure my ESP32 so that its UART1 would have the largest possible RX buffer. UART0 will be kept at minimal while UART2 will not be used.

I read the technical ref manual that the buffer is shared among three UART hardware's TX and RX:
ESP32 UART hardware buffer default allocation.png
ESP32 UART hardware buffer default allocation.png (90.31 KiB) Viewed 1460 times
So if I want
UART0 TX=128, RX=128
UART1 TX=128, RX=640
UART2 TX=0, RX=0
Can I just set the respective UART_MEM_CONF_REG bit fields to:
UART0 1,1
UART1 1,5
UART2 0,0
ESP32 UART_MEM_CONF_REG.png
ESP32 UART_MEM_CONF_REG.png (176.09 KiB) Viewed 1460 times
Also when should I be setting these values? These are the 5 steps of setting up UART:

https://docs.espressif.com/projects/esp ... /uart.html

Also I should reset hardware buffers with UART_CONF0_REG before or after adjusting sizes?

Are these registers called UART0_CONF0_REG, UART1_CONF0_REG, UART2_CONF0_REG UART0_MEM_CONF_REG, UART1_MEM_CONF_REG, UART2_MEM_CONF_REG?