Notice: We have migrated to GitLab launching 2024-05-01 see here:

#4611 closed defect (fixed)

BSP/atsam: UART driver sends data with a small gap

Reported by: Christian Mauderer Owned by: Christian Mauderer
Priority: normal Milestone:
Component: bsps Version: 5
Severity: normal Keywords:
Cc: Blocked By:


Cloned from #4610:

The ATSAM UART waits for data to be completely send before queuing the next character. Due to that there is a small gap between two characters. This is only notable if the UART is 100% busy. For example if received data should be echoed back at maximum data rate the software buffer fills till it is full and then starts to loose characters.

Change History (1)

comment:1 Changed on 02/15/22 at 13:38:26 by Christian Mauderer <christian.mauderer@…>

Resolution: fixed
Status: assignedclosed

In [changeset:"fc21b923ba8cf092c227f082d80b889bbf8c1bb9/rtems" fc21b923/rtems]:

bsp/atsam: Improve UART / USART tx performance

Put the next character into the send buffer if the buffer is empty and
not when the last character has been sent out to the line. This improves
the performance slightly.

Before that patch, the receive path was faster than the transmit path.
Therefore a simple echo could drop characters on a busy connection.
With this patch sending and receiving has about the same performance so
that no characters are lost.

Fixes #4611

Note: See TracTickets for help on using tickets.