 Note that an I2C message containing data bits (including acknowledges) contains clock pulses.Below is an example of bit-banging the I2C protocol as an I2C master.The example is written in pseudo C. It illustrates all of the I2C features described before (clock stretching, arbitration, start/stop bit, ack/nack).