/* Puts a data element into the SPI transmit FIFO. 
This function replaces the original SSIDataNonBlockingPut() API and performs the same actions. A macro is provided in  */
long SPIDataPutNonBlocking(unsigned long ulBase, unsigned long ulData)
/* Puts a data element into the SPI transmit FIFO. 
This function replaces the original SSIDataNonBlockingPut() API and performs the same actions. A macro is provided in  */
long SPIDataPutNonBlocking(unsigned long ulBase, unsigned long ulData)
{
    xASSERT((ulBase == SPI3_BASE) || (ulBase == SPI1_BASE)||
            (ulBase == SPI2_BASE));
    if(xHWREG(ulBase + SPI_SR) & SPI_SR_TXE)
    {
        xHWREG(ulBase + SPI_DR) = ulData;
        return(1);
    }
    else
    {
        return(0);
    }
}