void i2c3_ev_isr(void) { uint32_t i2c = (uint32_t) i2c3.reg_addr; i2c_disable_interrupt(i2c, I2C_CR2_ITERREN); i2c3.watchdog = 0; // restart watchdog i2c_irq(&i2c3); i2c_enable_interrupt(i2c, I2C_CR2_ITERREN); }
void i2c2_er_isr(void) { uint32_t i2c = (uint32_t) i2c2.reg_addr; i2c_disable_interrupt(i2c, I2C_CR2_ITEVTEN); i2c2.watchdog = 0; // restart watchdog i2c_irq(&i2c2); i2c_enable_interrupt(i2c, I2C_CR2_ITEVTEN); }
void i2c1_er_isr(void) { uint32_t i2c = (uint32_t) i2c1.reg_addr; I2C_CR2(i2c) &= ~I2C_CR2_ITEVTEN; i2c_irq(&i2c1); i2c1_watchdog_counter = 0; I2C_CR2(i2c) |= I2C_CR2_ITEVTEN; }
void i2c3_ev_isr(void) { uint32_t i2c = (uint32_t) i2c3.reg_addr; I2C_CR2(i2c) &= ~I2C_CR2_ITERREN; i2c_irq(&i2c3); i2c3_watchdog_counter = 0; I2C_CR2(i2c) |= I2C_CR2_ITERREN; }
void i2c2_er_irq_handler(void) { i2c_irq(&i2c2); }
void i2c1_er_irq_handler(void) { i2c_irq(&i2c1); }