SingleMaster

A single master environment is defined by the fact that there is only one device present on the bus which acts as I2C master.

This is by far the easiest implementation of an I2 C bus as it drops the need for arbitration detection and handling. Unless there is a slave present which makes use of clock stretching the master can simply write out commands without reading back the clock line. This behaviour is certainly not recommended, but it works in many cases, especially when writing to EEPROMS or other slave devices which are implemented as a hardware state machine. One important thing to consider when working with PC I2C interfaces is that the system will become a multimaster environment if the PC is used to send commands to a running I2C system, i.e. if the PC is used to talk to slave devices while there is also a microcontroller on the target possibly talking to the I2C bus.