Hello,
I'm using the nRF5340 and have configured UART with EasyDMA to receive a variable number of bytes at 307200 baud. Our application has strict timing constraints, so we need to detect the end of a UART frame as quickly as possible.
To achieve this, I've implemented a timer that is reset on every RXDRDY event. If no new bytes are received within 50 µs, the timer triggers the STOPRX task to terminate the reception and signal the end of the frame.
While the timer logic works as intended, I’ve observed a significant delay between when STOPRX is triggered and when the ENDRX event is generated — up to 200 µs.
Upon reviewing the [nRF5340 Product Specification v1.6], I found a diagram that shows a "timeout" period between the STOPRX task and the ENDRX event. Here is a snapshot for reference:

This seems to explain the latency. Interestingly, I’ve found that this delay varies with baud rate — for instance, at 115200 baud, the delay increases up to 500 µs.
Questions:
-
Is the delay I'm observing directly caused by this documented timeout behavior?
-
Is there any way to reduce or eliminate this delay, so the data can be processed immediately after
STOPRXis issued?
Thank you for your time and I would appreciate any guidance or workarounds.
Best Regards