Операционная система ЗОСРВ «Нейтрино» > Руководство разработчика > Основные принципы системной разработки > Разработка драйверов и драйверные библиотеки > Драйверные библиотеки > Библиотека разработки SPI драйверов (libspi-master) > API библиотеки > spi_read()



spi_read()

Считать данные с устройства.

Прототип:

#include <hw/spi-master.h>
int spi_read( int fd,
uint32_t device,
void *buf,
int len );

Аргументы:

fd
Дескриптор файла, который вернула функция spi_open().
device
Идентификатор устройства с не более чем одним из следующих флагов, опционально объединенных (см. spi_cmdread() поле device).
buf
Указатель на буфер для чтения.
len
Длина, в байтах, данных, которые необходимо прочитать.

Библиотека:

libspi-master

Описание:

Функция считывает данные с конкретного устройства на шине SPI. Драйвер SPI обычно считает ошибкой ситуацию, когда количество байт, возвращаемых этой функцией, не совпадает с количеством байт, которые он попросил функцию прочитать.

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

nbytes
Количество успешно прочитанных с устройства байт.
-1
Произошла ошибка, код ошибки записывается в errno.

Коды ошибок:

EIO
Чтение с устройства не удалось, или произошла аппаратная ошибка.
EINVAL
Идентификатор устройства недействителен, или вы пытаетесь разблокировать устройство, которое не заблокировано.
ENOMEM
Недостаточно памяти.
EPERM
Устройство заблокировано другим подключением.

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

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

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

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

errno, spi_open()




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