Because I²C is a shared bus, there is the potential for any device to have a fault and hang the entire bus. For example if any device holds the SDA or SCL line low it prevents the master from sending START or STOP commands to reset the bus. Thus it is common for designs to include a reset signal that provides an external method of resetting the bus devices. However many devices do not have a dedicated reset pin forcing the designer to put in circuitry to allow devices to be power cycled if they need to be reset.
I²C supports a limited range of speeds. Hosts supporting the multi-megabit speeds are rare. Support for the Fm+ one-megabit speed is more widespread, since its electronics are simple variants of what is used at lower speeds. Many devices do not support the 400 kbit/s speed (in part because SMBus does not yet support it). I²C nodes implemented in software (instead of dedicated hardware) may not even support the 100 kbit/s speed; so the whole range defined in the specification is rarely usable. All devices must at least partially support the highest speed used or they may spuriously detect their device address.
Dear Enemy: may the Lord hate you and all your kind, may you be turned orange in hue, and may your head fall off at an awkward moment.
How to tell Heretics from Catholics?Papal legate Arnaud Amalric answers :Caedite eos. Novit enim Dominus qui sunt eius.(Kill them all, the Lord will recognise His own.)
“Get thee to Hell, where Asmodeus himself may suckle upon your diseased teat!” Barnabas Collins