RTS/CTS Hardware flow with UART Module

Although there is only one physical pin per SCI/UART channel for RTS/CTS, you can do full RTS/CTS flow control.  First select Custom in the pins configurations for the SCI channel and select a pin for CTS_RTS_SS.  

Then, in Threads tab select the UART module and set the CTS/RTS Selection to CTS.  This assigns the CTS_RTS_SS pin to CTS operation.  Next, set the External RTS Operation to Enabled and "Name of UART callback function for RTS external pin..." to a user defined callback to process RTS events.  You have to use a GPIO (configured as output) for RTS and control it in the user callback.  

  • In reply to Jeremy:

    Hi Jeremy,
    Thanks again. Do you have any advise why the level in the call back of my application is always LOW (0)?

    the SSP saying that : The callback function argument "@ref level" refers to the signal level on the RTS pin for the selected
    SCI channel.
    The RTS is a separate GPIO. How does it link to the leve in the call back?

    Thanks.
  • In reply to Copper:

    Hi Cooper-
    The RTS signal is asserted when the DTE wants to transmit to the DCE.

    The callback is called when RTS needs to be modified by the UART module. Simply put, the callback is really just mapping the 'level' to the pin selected for RTS....