Честно говоря, ни разу не натыкался на проблемы с I2C по вине МК, а вот по вине говнодатчика, который SCL или SDA подтянет и не отпускает - приходилось.