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.

CC2652R7: Configuring UART RX to pull up

Part Number: CC2652R7

Hi,

I'm using the UART2 driver for serial communication with another device, and it seems I need a pull up on the RX line.  Otherwise, I get a pulsing from that device, which results in receiving 0x81 nonstop between valid communications.

I've seen this related question:

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/633663/cc2640r2f-q1-pull-up-on-uart-rx

... but it doesn't seem to work.  When I call GPIO_setConfigAndMux (like in UART2CC26X2_initIO) with GPIO_CFG_IN_PU, before then calling UART2_open, the UART2_open seems to override the pin's configuration.  When I UART2_open, and then immediately call GPIO_setConfigAndMux again, the UART reads no longer work.  I've also tried (after UART2_open) calling GPIO_getConfig and then GPIO_setConfig with config | GPIO_CFG_PULL_UP_INTERNAL.  None of these work as expected.  Is there some additional trick, or is this functionality not supported?

Thanks,

Eric

  • Hi Eric,

    The E2E thread you've references is quite old and discusses a device within a different SDK.  You have also not explained what you've tried thus far, for example an evaluation of the uart2echo project and providing code snippets of the changes implemented.

    If you certainly need the UART pin pulled up, this will require either additional Driverlib I/O control after opening the UART2 TI Driver instance (see the Driverlib Documentation) or you will need to copy the <sdk_version>\source\ti\drivers\uart2\UART2CC26X2.c and h files directly into your workspace to apply the necessary changes to UART2CC26X2_initIO for your desired configuration from hwAttrs->rxPinMux other than GPIO_CFG_INPUT (defined in drivers\GPIO.h

    Regards,
    Ryan

  • Ryan,

    I've decided to copy the UART2 driver files and modify UART2CC26X2_initIO and UART2CC26X2_finalizeIO functions as needed.  That seems to work.

    Thanks,

    Eric