/* This function replaces the original UARTCharNonBlockingPut() API and performs the same actions. A macro is provided in  */
tBoolean UARTCharPutNonBlocking(unsigned long ulBase, unsigned char ucData)
/* This function replaces the original UARTCharNonBlockingPut() API and performs the same actions. A macro is provided in  */
tBoolean UARTCharPutNonBlocking(unsigned long ulBase, unsigned char ucData)
{
    ASSERT(UARTBaseValid(ulBase));
    if(!(HWREG(ulBase + UART_O_FR) & UART_FR_TXFF))
    {
        HWREG(ulBase + UART_O_DR) = ucData;
        return(true);
    }
    else
    {
        return(false);
    }
}