This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28378S: How to add RTS/CTS to SCI port?

Part Number: TMS320F28378S

Tool/software:

I do not see any code example on how to implement RTS/CTS lines for the SCI communication. 

I need to have RTS line stay high for the duration of the Tx to enable my Rs-485 transceiver. It can be achieved by waiting for SCI_isTransmitterBusy(uint32_t base) to go false, but it does not work when FIFO is enabled.

Can someone help me find the code implementing RTS line functionality without turning off the FIFO?

Thanks.

  • Hi Valeriy,

    If you take a look at the DriverLib sci.h file, the description is as seen in the below snippet:

    So there is a slight difference between using it with FIFO vs. without. 

    I'm not as familiar with RTS/CTS since our SCI doesn't inherently support it, but if you just need the line to remain high during transmission, would it work to use a GPIO and set high at the beginning of transmission and low after? 

    Best Regards,

    Allison

  • Allison,

    You are correct, all I need is to hold GPIO line high while transmission is in progress. The SCI_isTransmitterBusy() function works very well for that purpose when FIFO is not enabled. When FIFO is enabled my GPIO line always goes down before the last character is transmitted. The description for this function that you have shared indicates that it is how this function is supposed to behave.

    What function or register can I use to determine when the transmission has ended with FIFO enabled?

  • Hi Valeriy,

    I unfortunately do not know of another way to assess this for FIFO mode in the same manner as nonFIFO. As I mentioned before,

    would it work to use a GPIO and set high at the beginning of transmission and low after

    Or perhaps adding some delay following the transmitted busy function if it is a timing issue?

    Best Regards,

    Allison

  • Allison,

    Adding time delay for the duration of the last character Tx seems to be working.

    Thank you for the idea.