void I2C::EnableEventInterrupt (bool enable)
{
    if (enable)
    {
        *_pI2C_CR2 |= I2C_CR2_ITEVTEN;
        NVIC_SetEnable(_eventIrqNo);
    }
    else
    {
        *_pI2C_CR2 &= ~I2C_CR2_ITEVTEN;
        NVIC_ClearEnable(_eventIrqNo);
    }
}
void I2C::EnableErrorInterrupt (bool enable)
{
    if (enable)
    {
        *_pI2C_CR2 |= I2C_CR2_ITERREN;
        NVIC_SetEnable(_errorIrqNo);
    }
    else
    {
        *_pI2C_CR2 &= ~I2C_CR2_ITERREN;
        NVIC_ClearEnable(_errorIrqNo);
    }

}
void BKP::EnableTamperInterrupt(bool enable,
        BKP_TamperInterrupt_Handler* handler)
{
    if (enable)
    {
        _intHandler = handler;
        BKP_CSR |= BKP_CSR_TPIE;
        NVIC_SetEnable(IRQn_TAMPER);
    }
    else
    {
        BKP_CSR &= ~BKP_CSR_TPIE;
        NVIC_ClearEnable(IRQn_TAMPER);
    }
}
Exemple #4
0
void EXTI::Enable(bool enable, volatile uint32_t* edgeReg,
        volatile uint32_t* eventOrIntReg)
{
    if (enable)
    {
        if (_irqnNo != IRQn_NONE)
        {
            NVIC_SetEnable(_irqnNo);
        }
        *edgeReg |= (1 << _line);
        *eventOrIntReg |= (1 << _line);
    }
    else
    {
        if (_irqnNo != IRQn_NONE)
        {
            NVIC_ClearEnable(_irqnNo);
        }
        *edgeReg &= ~(1 << _line);
        *eventOrIntReg &= ~(1 << _line);
    }
}