которые определяют обмен данными между различными программами.
Эти соглашения задают
единообразный способ передачи сообщений и обработки ошибок при взаимодействии программного обеспечения разнесённой в пространстве аппаратуры, соединённой тем или иным интерфейсом.Каждое устройство на шине I2C должно иметь свой уникальный адрес, но которому к нему можно обратиться.
Адрес устройства всегда располагается в определенном месте (в определенных ячейках внутренней памяти).
Адрес может быть назначен, а может быть жёстко определен.
На шине I2С адреса устройств, называемые SLAVE-адресами, жёстко определены при изготовлении микросхем и не подлежат переназначению, то есть модификации. Иногда, для некоторых микросхем переназначить адрес можно (это делается с помощью 2—3 бит, которые нужно предварительно определить аппаратно, то есть установить перемычки на соответствующие выводы).
Значение SLAVE-адреса можно узнать из документации на соответствующую микросхему.
Так как все абоненты шины обмениваются данными только по линиям SDA и SCL, то в момент начала передачи все SLAVE-абоненты «слушают» линию на предмет опознавания своего SLAVE-адреса. Опознавший свой адрес абонент продолжает прием данных и выдачу сигналов АСК, остальные только следят за моментом выдачи состояния STOP.
Форматы передачи данных на шине I2C
Для адресации устройств на шине I2C используется два формата адреса:
7-разрядный формат с битом чтения/записи R/W;
10-разрядный формат (передаются два байта)