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.

CC3200: Working code example of using UART Hardware Flow Control

Part Number: CC3200

Hi,

We cannot make the flow control work. CTS and RTS are misbehaving. Seems some bus contention with the peer MCU UART device.

Is there some proven code example of doing this?

I found no example of a pinmux for this. Examples only include the TX/RX configuration. How do I configure the CTS/RTS pins? Using MAP_PinTypeUART?

What is API sl_UartSetMode? IT does not link for me. I used  MAP_UARTFlowControlSet(CONSOLE,UART_FLOWCONTROL_TX|UART_FLOWCONTROL_RX);

Please advise.

Thanks,

Moshe

  • Hi Moshe,

    Enabling RTS and CTS follows the same process as enabling the UART peripheral, with the addition of the pinmuxing of the RTS + CTS signals and then calling UARTFlowControlSet() as the only extra setup needed.

    MAP_PinTypeUART() with the appropriate pin and mode will work to mux out RTS and CTS. For example, if you wanted to use pin 50 as UART0 RTS, you would call MAP_PinTypeUART(PIN_50, PIN_MODE_3) in your pinmux.c file. Similarly, MAP_PinTypeUART(PIN_61, PIN_MODE_6) will mux out UART0 CTS on pin 61. You can find the full table of allowable signal muxing in Table16-7 of the CC3200 TRM: https://www.ti.com/lit/swru367

    After the physical signals are muxed out, MAP_UARTFlowControlSet(CONSOLE,UART_FLOWCONTROL_TX|UART_FLOWCONTROL_RX) will work to enable HW flow control on the UART peripheral. Once you mux out the signals, do you see the CTS get pulled low? You should see the RTS/CTS signals be set to their correct states at that point.

    Regards,

    Michael

  • Thank you, it works!