Работа интерфейса I2C в модулях расширения портов основана на том, что при операции записи одного байта в модуле происходит выставление подтяжек портов ввода/вывода исходя из значения соответствующего порту бита данных. 3
Например, если бит установлен в ноль, происходит подтяжка порта к земле. 3 Если бит установлен в единицу, порт будет подтянут к питанию, но с ограничением тока в 100 мкА. 3
При чтении из модуля микроконтроллер получает информацию о том, какие уровни установлены на портах с учётом текущей подтяжки и того, что подключено к портам извне. 3
Также в модулях расширения портов, например на базе PCF8574, при изменении физического состояния входа, если напряжение на входе отличается от состояния внутреннего регистра, генерируется сигнал прерывания для микроконтроллера. 4 Вывод прерывания INT может быть подключён к GPIO микроконтроллера для уведомления о том, что состояние входных портов расширителя изменилось. 4