Библиотека Wire
Данная библиотека позволяет Ардуино взаимодействовать с различными устройствами по интерфейсу I2C / TWI. На платах Ардуино версии R3 (с распиновкой 1.0) линии SDA (данные) и SCL (тактовые импульсы), связанные с этим интерфейсом, расположены на разъеме возле контакта AREF. В Arduino Due реализовано два интерфейса I2C / TWI, линии одного из них (SDA1 и SCL1) расположены возле вывода AREF, линии второго - на выводах 20 и 21. Расположение выводов TWI на тех или иных платах Ардуино для наглядности сведено в таблицу:
Начиная с версии языка Arduino 1.0, библиотека Wire наследует функции класса Stream, что позволяет ей быть совместимой с другими библиотеками, осуществляющими запись и чтение данных. Поэтому, методы send() и receive() были заменены методами read() и write(). ПримечаниеСогласно протоколу I2C, адрес устройства может состоять как из 7, так и из 8 бит. Как правило, 7 бит идентифицируют устройство, в то время, как восьмой бит задает направление передачи данных: от устройства (чтение) или к нему (запись). Все функции библиотеки Wire используют 7-битную адресацию. Поэтому, при работе с устройством, использующим 8-битную адресацию, вам придется отбрасывать младший бит (например, сдвигая значение на один бит вправо), тем самым ограничивая диапазон возможных адресов в пределах 0 - 127. |
Функции |