0
КОРЗИНА
0 ТОВАРА

Библиотека iarduino_I2C_connect

tremaru / iarduino_I2C_connect

★ Обновлено: 23:09 10.06.2023 ☆ Создан: 18:59 21.05.2019

Релизы

archive
10.06.2023
Cкачать

Библиотека iarduino_I2C_connect разработана для удобства соединения нескольких arduino по шине I2C

Подключение библиотеки:

#include <Wire.h>
#include <iarduino_I2C_connect.h>
//Создание объекта библиотеки
iarduino_I2C_connect I2C2; // Вы можете указать своё название, вместо I2C2

Назначение функций:

Подробное описание работы с библиотекой, находится в разделе Урок 26.3 Соединяем две arduino по шине I2C.

В библиотеке реализованы 4 функции:

ДЛЯ ВЕДОМОГО:

Функция 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()

  • 0 - успех
  • 1 - переполнение буфера передачи данных
  • 2 - получен NACK на переданный адрес устройства
  • 3 - получен NACK на переданный адрес регистра
  • 4 - неизвестная ошибка

Сопровождающие товары

Гарантии и возврат Используя сайт Вы соглашаетесь с условями
Есть вопрос?