1.3.2.1 How the Library Works

The I2C Bit Bang library is a single-client, single-instance interface.

Working Flow

  • It uses a timer peripheral to generate the I2C waveforms at the configured I2C clock speed.

  • The block of data is transferred in a non-blocking manner using the timer peripheral interrupt.

  • Application can register a callback to get notified when the I2C transfer is complete.

  • Once the transfer is complete, the lirary calls the callback registered by the application from the timer interrupt context or the application can poll the status of the transfer