/* Set the clock rate of the specified I2C port. 
The  */
void xI2CSlaveInit(unsigned long ulBase, unsigned char ucSlaveAddr, unsigned long ulGeneralCall)
/* Set the clock rate of the specified I2C port. 
The  */
void xI2CSlaveInit(unsigned long ulBase, unsigned char ucSlaveAddr, unsigned long ulGeneralCall)
{
    xASSERT((ulBase == I2C0_BASE) || (ulBase == I2C1_BASE));
    switch(ulBase)
    {
        case I2C0_BASE: xSysCtlPeripheralReset(xSYSCTL_PERIPH_I2C0); break;
        case I2C1_BASE: xSysCtlPeripheralReset(xSYSCTL_PERIPH_I2C1); break;
		default:  break;
    }
    xHWREG(ulBase + I2C_CON) = I2C_CON_ENS1;
    xHWREG(ulBase + I2C_CON) = 0;
    xHWREG(ulBase + I2C_ADDR0) = (ucSlaveAddr << 1) | ulGeneralCall;
    xHWREG(ulBase + I2C_CON) = I2C_CON_ENS1;
    xHWREG(ulBase + I2C_CON) |= I2C_CON_AA;
}