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.

CC2642R: Not receiving the Uart Rx interrupts on enabling Hardware Flow Control (CTS/RTS)

Part Number: CC2642R

Hi,

I am currently trying to enable Hardware Flow Control in the Uart driver functionality. I am working with SDK simplelink_cc13x2_26x2_sdk_3_30_00_03.

I am using CC2652R1 Launchpad to test the same. I have an FTDI cable connecting my host machine to the Launchpad with the below pin configuration.

RXD - DIO3

TXD - DIO2

RTS - DIO19

CTS - DIO18

I have assigned IOID_19 and IOID_18 to the CTS and RTS pin values respectively.

I currently am able to see the Tx from the Launchpad application on the Terminal (Tera Term). But I am unable to see the Rx Interrupts being generated when I send data over serial.

If I do not use CTS/RTS configuration, I do see the callback interrupts to the application and posting the required events to the application.

What am I missing in the configuration. Below is the pin config table as well.

IOID_19 | PIN_INPUT_EN | PIN_PULLDOWN,

IOID_18 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,

Best Regards,

Veena Mohan

  • Hi Veena,

    Assuming you use the UART driver, you do not need to setup the pin configurations for the RTS/CTS pins, this is done by the driver if these are defined.

    The driver configures CTS as input and RTS output (push-pull, default high), in other words, the exact opposite of your input, maybe this is your issue?

  • Thanks for the quick response.

    I have removed the configuration as suggested, I see the Tx seems to be working fine, but have no success with the Rx.

    I have a logic analyzer plugged in and see that when the Tx starts, it seems to pull down the RTS and probably that is the reason I don't see the Rx being successful anymore.

    Please find the snapshot below.

  • Hi Veena,

    Have you verified the RTS/CTS connection between your board and the FTDI cable, swapping the pins etc. To clarify the labeling in the picture, is it TX/RX from the CC2642 side or the FTDI side?

  • Hi,

    I did verify the CTS/RTS lines connection between the board and the FTDI cable. 

    The picture is labelled with respect to the CC2642 side i.e. the Tx is the data sent from CC2642 and Rx is the data to be received by the CC2642.

    I did observe another strange behavior. I have both the FTDI cables plugged in and the Micro USB to the Launchpad. This lets me open 2 serial terminals(one via the microUSB com port and another via FTDI cable com port) with the data replicated on each of them. In this set-up, I am able to perform the Send data from host to the Launchpad, if the data is sent via the microUSB com port. But the same fails when I try to send data using the FTDI cable.

    Can you explain this strange behavior? Can I enable hardware flow control functionality with the micro USB cable. This puzzles me, cos I don't see the CTS/RTS pins called out for the Launchpad's FTDI chip to have a jumper connection.

    What am I missing?

  • Hi Veena,

    You should disconnect the TX/RX jumpers on the LP. What you say seems to imply that you got two devices connected to the same UART bus which is not a supported topology. There is no flow-control when using the debugger serial-over-usb port.

    Could you try removing the TX/RX headers on the LP and try again?