Библиотека iarduino_I2C_connect разработана для удобства соединения нескольких arduino по шине I2C
#include <Wire.h> #include <iarduino_I2C_connect.h> //Создание объекта библиотеки iarduino_I2C_connect I2C2; // Вы можете указать своё название, вместо I2C2
Подробное описание работы с библиотекой, находится в разделе Урок 26.3 Соединяем две arduino по шине I2C.
Функция begin
Назначение: указание массива, элементы которого будут доступны для чтения/записи по шине I2C
Синтаксис: begin(массив);
Параметр: массив (тип byte)
Возвращаемые значения: Нет
Примечание: Вызывается 1 раз в начале кода.
Функция writeMask
Назначение: указание маскировочного массива, значение true элемента данного массива - разрешает менять значение соответствующего элемента в массиве, объявленном в функции begin()
Синтаксис: writeMask(маскировочный_массив);
Параметр: маскировочный массив (тип bool)
Возвращаемые значения: Нет
Примечание: Вызывается 1 раз в начале кода.
Если указать массив, который состоит из 5 ячеек {0,1,1,1,0}, то мастер не сможет изменить значения 0 и 4 элементов массива доступного по шине I2C, который был объявлен в функции begin(). Но все элементы массива будут доступны для чтения
Если указать массив, который состоит из 5 ячеек, в то время как массив доступный по шине I2C содержит 10 ячеек, то мастер не сможет изменить значения последних 5 ячеек, а значения первых сможет изменить только если соответствующие ячейки маскировочного массива равны 1 или true
Если не объявлять маскировочный массив (не вызывать функцию writeMask ), то все элементы массива, доступного по шине I2C, который был объявлен в функции begin(), будут доступны мастеру для записи и чтения.
Функция readByte
Назначение: Чтение одного байта данных из устройства на шине I2C
Синтаксис: readByte(адрес_устройства, адрес_регистра);
Параметры: адрес_устройства - данные которого требуется получить (число от 0x00 до 0x7F)
адрес_регистра - данные которого требуется получить (число от 0x00 до 0xFF) // адрес регистра соответствует номеру элемента массива объявленного ведомым устройством функцией begin
Возвращаемые значения: uint8_t байт - данные считанные из указанного адреса, указанного устройства
Функция writeByte
Назначение: Запись одного байта данных в устройство на шине I2C
Синтаксис: writeByte(адрес_устройства, адрес_регистра, байт_данных);
Параметры: адрес_устройства - которому предназначены отправляемые данные (число от 0x00 до 0x7F)
адрес_регистра - которому предназначены отправляемые данные (число от 0x00 до 0xFF) // адрес регистра соответствует номеру элемента массива объявленного ведомым устройством функцией begin
байт_данных - который требуется записать в указанный регистр, указанного устройства
Возвращаемые значения: uint8_t байт - результат операции записи, соответствует значению возвращаемому функцией Wire.endTransmission()