Hi Brendan Cassidy
According to your description:
LPUART0->MODIR = LPUART_MODIR_TXRTSE(1)
Monitor UART0 Tx pin and pull the CTS pin both high and low.
In both cases data is transmitted rather than waiting for CTS to be asserted
You don't need the TXRTSE bit to enable, you need the TXCTSE bit.
The transmitter checks the state of CTS each time it is ready
to send a character. If CTS is asserted, the character is sent. If CTS is deasserted, the signal TXD
remains in the mark state and transmission is delayed until CTS is asserted.
I checked your configuration and I didn't see any problem with the flow control part, unfortunately, there isn't any example code that implements this.
It is not needed this part of the code:
UART0_HS_BASE->PDDR |= 1 << UART0_RTS_PIN; // Set RTS pin for output
And I also notice that you have the mux(2) and you need the mux(6)
UART0_HS_PORT_PAD->PCR[UART0_CTS_PIN]|=PORT_PCR_MUX(2); // Port A0: MUX = ALT6,UART0 CTS
UART0_HS_PORT_PAD->PCR[UART0_RTS_PIN]|=PORT_PCR_MUX(2); // Port A1: MUX = ALT6,UART0 RTS
Hope this could help you
Have a great day,
TIC
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
-------------------------------------------------------------------------------