Операционная система ЗОСРВ «Нейтрино» > Руководство разработчика > Основные принципы системной разработки > Разработка драйверов и драйверные библиотеки > Драйверные библиотеки > Библиотека разработки I²C драйверов (libi2c-master) > DEVCTL-команды > DCMD_I2C_RECV



DCMD_I2C_RECV

Выполнить чтение из slave устройства

Прототип:

#include <hw/i2c.h>
#define DCMD_I2C_RECV __DIOTF( _DCMD_I2C, 6, i2c_recv_t )

Аргументы:

filedes
Дескриптор файла, полученный при открытии устройства.
dcmd
DCMD_I2C_RECV.
dev_data_ptr
Указатель на структуру i2c_recv_t.
n_bytes
Размер структуры i2c_recv_t, полученный с помощью sizeof().
dev_info_ptr
NULL.

Библиотека:

libi2c-master

Описание:

Команда используется в сочетании с вызовом devctl(), а все перечисленные аргументы являются его типовыми параметрами. Команда выполняет чтение из slave устройства. Она возвращается после завершения чтения.

Исходящие данные:

i2c_recv_t - заголовок сообщения (не изменяется);

uint8_t[] - указатель на буфер с принятыми данными.

Входящие данные:

i2c_recv_t - заголовок сообщения;

uint8_t[] - указатель на буфер в который будут приниматься данные.

Коды ошибок:

EIO
Не удалось выполнить чтение. Причины: неверный адрес slave устройства, неверная скорость шины, шина занята.
EINVAL
Неправильный формат сообщения.
ENOMEM
Недостаточно памяти.
EPERM
Ведущий заблокирован другим соединением.

Классификация:

ЗОСРВ «Нейтрино»

Тематические ссылки:

devctl(), i2c_recv_t




Предыдущий раздел: Библиотека разработки I²C драйверов