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/TM4C1294NCPDT: RS485: Works for 9600,8,1,none but not for 9600,7,1,even

Part Number: TM4C1294NCPDT

Tool/software: TI-RTOS

Using UART3 as RS485, I can communicate at 9600, 8, 1, None.  When I change the comport settings to 7, 1, and Even, the data is not correct.  Here is my init code:

uint32_t g_ui32SysClock = SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ |
SYSCTL_OSC_MAIN |
SYSCTL_USE_PLL |
SYSCTL_CFG_VCO_480), 120000000);

SysCtlPeripheralEnable(SYSCTL_PERIPH_UART3);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOJ);

// Set GPIO PJ0 and PJ1 as UART pins.
GPIOPinConfigure(GPIO_PJ0_U3RX);
GPIOPinConfigure(GPIO_PJ1_U3TX);
GPIOPinTypeUART(GPIO_PORTJ_BASE, GPIO_PIN_0 | GPIO_PIN_1);

if (false) // make this a system data var
{
// 9600, 8, 1, none
UARTConfigSetExpClk(UART3_BASE, g_ui32SysClock, 9600,
(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
UART_CONFIG_PAR_NONE));
}
else
{
// 9600, 7, 1, even
UARTConfigSetExpClk(UART3_BASE, g_ui32SysClock, 9600,
(UART_CONFIG_WLEN_7 | UART_CONFIG_STOP_ONE |
UART_CONFIG_PAR_EVEN));
}

UARTEnable(UART3_BASE);
UARTTxIntModeSet(UART3_BASE, UART_TXINT_MODE_EOT);

IntMasterEnable();
IntEnable(INT_UART3);
UARTIntEnable(UART3_BASE, UART_INT_RX | UART_INT_RT | UART_INT_TX);

What am I missing?