Переслать данные между устройством и SPI-мастером.
#include <hw/spi-master.h>
int spi_xchange( int fd,
uint32_t device,
void *wbuf,
void *rbuf,
int len );
- fd
- Дескриптор файла, который вернула функция spi_open().
- device
- Идентификатор устройства с не более чем одним из следующих флагов, опционально объединенных (см. spi_cmdread() поле device).
- wbuf
- Указатель на буфер для отправки.
- rbuf
- Указатель на буфер для получения.
- len
- Длина, в байтах, данных, которые необходимо обменять.
libspi-master
Функция обменивает данные между конкретным устройством и SPI-мастером. Драйвер SPI обычно считает ошибкой, если количество байт, возвращаемых этой функцией, не совпадает с количеством байт, которые он попросил функцию обменять.
- nbytes
- Количество успешно пересланных байт между устройством и SPI-мастером.
- -1
- Произошла ошибка, код ошибки записывается в errno.
- EIO
- Запись на устройство не удалась, или произошла аппаратная ошибка.
- EINVAL
- Идентификатор устройства недействителен, или вы пытаетесь разблокировать устройство, которое не заблокировано.
- ENOMEM
- Недостаточно памяти.
- EPERM
- Устройство заблокировано другим подключением.
ЗОСРВ «Нейтрино»
- Нет
- Обработчик прерываний
- Нет
- Обработчик сигналов
- Нет
- В потоке
- Да
spi_open(), errno
Предыдущий раздел: Библиотека разработки SPI драйверов