/* This function replaces the original SSIDataNonBlockingPut() API and performs the same actions. A macro is provided in  */
long SSIDataPutNonBlocking(unsigned long ulBase, unsigned long ulData)
/* This function replaces the original SSIDataNonBlockingPut() API and performs the same actions. A macro is provided in  */
long SSIDataPutNonBlocking(unsigned long ulBase, unsigned long ulData)
{
    ASSERT((ulBase == SSI0_BASE) || (ulBase == SSI1_BASE));
    ASSERT((ulData & (0xfffffffe << (HWREG(ulBase + SSI_O_CR0) &
                                     SSI_CR0_DSS_M))) == 0);
    if(HWREG(ulBase + SSI_O_SR) & SSI_SR_TNF)
    {
        HWREG(ulBase + SSI_O_DR) = ulData;
        return(1);
    }
    else
    {
        return(0);
    }
}