Ejemplo n.º 1
0
/*******************************************************************************
* Function Name: I2CM_Start
********************************************************************************
*
* Summary:
*  Invokes SCB_Init() and SCB_Enable().
*  After this function call, the component is enabled and ready for operation.
*  When configuration is set to "Unconfigured SCB", the component must first be
*  initialized to operate in one of the following configurations: I2C, SPI, UART
*  or EZ I2C. Otherwise this function does not enable the component.
*
* Parameters:
*  None
*
* Return:
*  None
*
* Global variables:
*  I2CM_initVar - used to check initial configuration, modified
*  on first function call.
*
*******************************************************************************/
void I2CM_Start(void)
{
    if (0u == I2CM_initVar)
    {
        I2CM_Init();
        I2CM_initVar = 1u; /* Component was initialized */
    }

    I2CM_Enable();
}
 /*******************************************************************************
 * Function Name: I2CM_I2CMasterDisableEcAm
 ****************************************************************************//**
 *
 *  Disables externally clocked address match to enable master operation
 *  in active mode.
 *
 *******************************************************************************/
 static void I2CM_I2CMasterDisableEcAm(void)
 {
     /* Disables externally clocked address match to enable master operation in active mode.
     * This applicable only for Multi-Master-Slave with wakeup enabled. Ticket ID#192742 */
     if (0u != (I2CM_CTRL_REG & I2CM_CTRL_EC_AM_MODE))
     {
         /* Enable external address match logic */
         I2CM_Stop();
         I2CM_CTRL_REG &= (uint32) ~I2CM_CTRL_EC_AM_MODE;
         I2CM_Enable();
     }
 }