Notes on I2C

12 points by fish


Forty-Bot

A “Repeated START” is only needed when switching transaction directions (Read/Write), otherwise you just concatenate data frames in the same transaction.

It's used whenever you want to change address or direction. You could use repeated starts to do atomic transactions involving multiple devices.

High speed mode devices are backwards compatible to lower speeds.

Fast mode is backwards compatible with standard speed, but the FM+ and faster are not. This is because a FM+ start condition can look like a regular data transition to standard/fast mode devices. But if you need 1+ MHz speed you should probably look at SPI instead.