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.

RTOS/CC3220S-LAUNCHXL: UART1 on the CC3220S Launchpad (again)

Part Number: CC3220S-LAUNCHXL
Other Parts Discussed in Thread: CC3220S

Tool/software: TI-RTOS

I apologize for asking this question, as I know it's been addressed a couple times, but I'm still not entirely getting the UART1 on the Launchpad to work.  

I started with the MQTT example for the CC3220S using Code Composer Studio.

I changed CC3220S_LaunchXL.c to look like this:

const UARTCC32XX_HWAttrsV1 uartCC3220SHWAttrs[CC3220S_LAUNCHXL_UARTCOUNT] = {
{
.baseAddr = UARTA0_BASE,
.intNum = INT_UARTA0,
.intPriority = (~0),
.flowControl = UARTCC32XX_FLOWCTRL_NONE,
.ringBufPtr = uartCC3220SRingBuffer[CC3220S_LAUNCHXL_UART0],
.ringBufSize = sizeof(uartCC3220SRingBuffer[CC3220S_LAUNCHXL_UART0]),
.rxPin = UARTCC32XX_PIN_04_UART0_RX,
.txPin = UARTCC32XX_PIN_03_UART0_TX,
.ctsPin = UARTCC32XX_PIN_UNASSIGNED,
.rtsPin = UARTCC32XX_PIN_UNASSIGNED
},
{
.baseAddr = UARTA1_BASE,
.intNum = INT_UARTA1,
.intPriority = (~0),
.flowControl = UARTCC32XX_FLOWCTRL_NONE,
.ringBufPtr = uartCC3220SRingBuffer[CC3220S_LAUNCHXL_UART1],
.ringBufSize = sizeof(uartCC3220SRingBuffer[CC3220S_LAUNCHXL_UART1]),
.rxPin = UARTCC32XX_PIN_57_UART1_RX,
.txPin = UARTCC32XX_PIN_55_UART1_TX,
.ctsPin = UARTCC32XX_PIN_UNASSIGNED,
.rtsPin = UARTCC32XX_PIN_UNASSIGNED
}
};

I have a TTL converter on pins 57 and 55, and I verified it worked with pins 4 and 3 first (so I know the TTL converter works)

My Init Looks like this:

UART_Handle InitTerm(void)
{

UART_Params uartParams;

Board_initUART();
UART_Params_init(&uartParams);

uartParams.readMode = UART_MODE_CALLBACK;
uartParams.writeMode = UART_MODE_CALLBACK;
uartParams.writeDataMode = UART_DATA_BINARY;
uartParams.readDataMode = UART_DATA_BINARY;
uartParams.readReturnMode = UART_RETURN_FULL;
uartParams.readEcho = UART_ECHO_OFF;
uartParams.baudRate = 9600;
uartParams.dataLength = UART_LEN_8;
uartParams.stopBits = UART_STOP_ONE;
uartParams.parityType = UART_PAR_NONE;
uartParams.readCallback = &rxCallback;
uartParams.writeCallback = &wrCallback;

uartHandle = UART_open(Board_UART1, &uartParams);
UART_control(uartHandle, UART_CMD_RXDISABLE, NULL);

return(uartHandle);
}

and my Callback handlers look like this:

static int8_t count = 0;
//******************************************************************************
void wrCallback(UART_Handle uartHandle, void *pBuf, uint32_t numBytes)
{
count--;
}

//******************************************************************************
void rxCallback(UART_Handle uartHandle, void *pBuf, uint32_t numBytes)
{
count++;
}

I can never get my callbacks to work.  They never get called.  Am I forgetting to enable interrupts on that second UART?  

What am I missing?  Thank you for any help.