Example #1
0
void i2c_slave_mode(i2c_t *obj, int enable_slave) {
    if (enable_slave) {
        // set slave mode
        BW_I2C_C1_MST(obj->instance, 0);
        i2c_hal_enable_interrupt(obj->instance);
    } else {
        // set master mode
        BW_I2C_C1_MST(obj->instance, 1);
    }
}
Example #2
0
void i2c_slave_mode(i2c_t *obj, int enable_slave) {
    uint32_t i2c_addrs[] = I2C_BASE_ADDRS;
    if (enable_slave) {
        // set slave mode
        BW_I2C_C1_MST(i2c_addrs[obj->instance], 0);
        I2C_HAL_SetIntCmd(i2c_addrs[obj->instance], true);
    } else {
        // set master mode
        BW_I2C_C1_MST(i2c_addrs[obj->instance], 1);
    }
}