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.

CC3220MOD: Weird behavior of the UART driver lib on our own PCB

Part Number: CC3220MOD

Hey guys,

Looking for inspiration here...

I have a simple program that simply initialize the uart framework and send some data on uart 0. I am testing with both implementation: TI drivers and driver lib. 

On the LAUNCHXL : both implementations work fine.

On our PCBs : the TI drivers work fine but the driver lib does not send (nor receive) any data.

Any ideas what it can be ?

And here's the catch: If I run a debug session with TI driver and then, right away (without unplugging the debugger, or restarting the our board), the driver lib also work !!! 

Thanks for any help ! 

  • Hi,

    Probably you not properly set pinmux for UART.

    Jan
  • Don't think so. How would the TI driver implementation then work ?
  • Hi,

    Cause pinmux is set automatically inside TI drivers. In case of driverlib is used, you need set pinmux by yourself.

    Example of Pinmux for UART0 and pins 55, 57:

    MAP_PRCMPeripheralClkEnable(PRCM_UARTA0, PRCM_RUN_MODE_CLK);
    MAP_PinTypeUART(PIN_55, PIN_MODE_3);
    MAP_PinTypeUART(PIN_57, PIN_MODE_3);

    ... also make sure, that you not use UART in TI drivers, in case of that you want to use drivelib

    Jan

  • Thank you! Thank you!

    One point: we are using the CC3220MOD and the number of our uart pins are uart0:  46 & 48 and uart1: 48 & 49. But apparently we have to use the CC3220 normal pin numbers. Which would end-up to :

    void CC3220MODSF_initGeneral(void)
    {
        PRCMCC3200MCUInit();
        Power_init();
    
        // Uart 0 (Clock init, TX and RX resp.)
        MAP_PRCMPeripheralClkEnable(PRCM_UARTA0, PRCM_RUN_MODE_CLK);
        MAP_PinTypeUART(PIN_55, PIN_MODE_3); // Has to use the CC3220 pin number system pin 55 <-> pin 46 (see CC3220MOD datasheet p13)
        MAP_PinTypeUART(PIN_57, PIN_MODE_3); // Has to use the CC3220 pin number system pin 57 <-> pin 47 (see CC3220MOD datasheet p13)
    
        // Uart 1 (Clock init, TX and RX resp.)
        MAP_PRCMPeripheralClkEnable(PRCM_UARTA1, PRCM_RUN_MODE_CLK);
        MAP_PinTypeUART(PIN_58, PIN_MODE_6); // Has to use the CC3220 pin number system pin 58 <-> pin 48 (see CC3220MOD datasheet p13)
        MAP_PinTypeUART(PIN_59, PIN_MODE_6); // Has to use the CC3220 pin number system pin 59 <-> pin 49 (see CC3220MOD datasheet p13)
    }

    Can you confirm this?

    Is there any other parameters that have to be set in order to use uart driver lib ?

    Thanks again !

  • Hi,

    Yes, you need to use pin numbers of QFN. Inside CC3220MOD is in integrated QFN chip. Chip itself cannot know that is embedded inside module.

    Jan