Processing:Библиотеки/Hardware I/O/Класс I2C/read()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску


Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



read()[1]

Класс

I2C

Обозначение

read()

Описание

Считывает байты с подключенного устройства.

Перед вызовом этой функции необходимо вызвать функцию beginTransmission(). Кроме того, read() играет роль функции endTransmission() – она завершает текущую коммуникацию и отправляет все данные, которые ранее были поставлены в очередь при помощи функции write(). После read() функцию endTransmission() вызывать необязательно.

Синтаксис

.read(len)

Параметры

len  количество байтов, которые нужно прочесть. Тип данных  int

Возвращаемое значение

Массив byte[].

Пример

import processing.io.*;
I2C compass;

void setup() {
  //printArray(I2C.list());
  compass = new I2C(I2C.list()[0]);
}

void draw() {
  // при помощи интерфейса I2C считываем направление
  // компас-модуля с адресом 33 (шестн. – 0x21):
  compass.beginTransmission(0x21);
  // сначала отсылаем командный байт:
  compass.write(0x41);
  // считываем два байта:
  byte[] in = compass.read(2);

  // объединяем байты и делим результат на 10;
  // конструкция «& 0xff» нужна, чтобы байт
  // не интерпретировался как отрицательное значение:
  int deg = (in[0] & 0xff) << 8 | (in[1] & 0xff);
  println((deg / 10.0));
}

См.также

Внешние ссылки