Библиотека позволяет управлять цифровыми выводами Trema-модуля расширения выводов.
Преимуществом данной библиотеки является то, что она предоставляет возможность управления выводами модулей, как через функции объекта библиотеки, так и через стандартные функции управления цифровыми выводами.
Данная библиотека может использовать как аппаратную, так и программную реализацию шины I2C.
О том как выбрать тип шины I2C рассказано в статье Wiki - расширенные возможности библиотек iarduino для шины I2C.
Подробное описание работы с библиотекой, находится в разделе Wiki - Расширитель на 8 Входов/Выходов.
#include <iarduino_I2C_IO.h> // Подключаем библиотеку.
iarduino_I2C_IO ОБЪЕКТ ( АДРЕС ); // Создаём объект (для каждого модуля свой).
Функция begin( [&ШИНА] ); // Инициализация работы с модулем.
Функция pinMode( ВЫВОД , РЕЖИМ ); // Установка режима работы вывода.
Функция digitalRead( ВЫВОД ); // Чтение логического состояния с вывода модуля.
Функция digitalWrite( ВЫВОД , СОСТОЯНИЕ ); // Установка логического уровня.
#include <iarduino_I2C_IO_Global.h> // Подключаем библиотеку.
void setup(){ iarduino_I2C_IO_Global.begin(); } // Инициируем работу модулей.
После подключения библиотеки и инициализации модулей, управление выводами модулей и выводами Arduino, осуществляется через стандартные функции pinMode(), digitalRead() и digitalWrite(). При этом, выводы Arduino указываются типом uint8_t, а выводы модулей типом pinNum.