Hello BoloMestre,
SCI handshaking is not usually applied on a character-by-character basis, but is generally used to stop and re-start a continuous data stream. Typically the received chararacters will be placed in a FIFO (circular) buffer, generally under interrupt control. Hence, the receive buffer needs to be monitored, so that when it is nearly full the stream can be stopped, and re-started again when the buffer becomes nearly empty.
The handshaking originates from the receiving SCI and is sent back to the data source, and may use either a "hardware" method (control of CTS or DTR signal), or a "software" method (sending Xon or Xoff control characters). When sending a Xoff character to stop the data stream, there could be a delay of several characters before it takes effect, so this should occur before the buffer is completely full. Similarly, the Xon character should be sent before the receive buffer completely empties.
The "hardware" method is generally preferred, if the signal is available, because it will be more responsive. The choice of CTS or DTR signal would need to match the sending end - the chosen signal is made inactive to stop the stream, and active to re-start the stream.
Regards,
Mac