How to use custom interrupt for handling UART
Posted: Fri Sep 08, 2023 10:53 am
Hi,
I would like to use custom interrupts for handling UART rx. The reason I cannot use event queues is that I will sometimes need to reply within 300us of receiving a byte (and event queues have more latency than that due to FreeRTOS context switches).
Note: I do not need high throughput, only low latency.
In ESP IDF v4.4.5, there was an API to register a custom interrupt handler (https://docs.espressif.com/projects/esp ... interrupts - see).
However, as of ESP IDF v5 this API no longer exists, with no note in the migration guide and seemingly no replacement. Busy looping is not an option since it will starve other tasks.
How can I implement low-latency UART communication using the ESP IDF v5+?
Thank you so much in advance!
I would like to use custom interrupts for handling UART rx. The reason I cannot use event queues is that I will sometimes need to reply within 300us of receiving a byte (and event queues have more latency than that due to FreeRTOS context switches).
Note: I do not need high throughput, only low latency.
In ESP IDF v4.4.5, there was an API to register a custom interrupt handler (https://docs.espressif.com/projects/esp ... interrupts - see
Code: Select all
uart_is_register
However, as of ESP IDF v5 this API no longer exists, with no note in the migration guide and seemingly no replacement. Busy looping
Code: Select all
uart_read_bytes
How can I implement low-latency UART communication using the ESP IDF v5+?
Thank you so much in advance!