spi_read()
The spi_read() function reads data from a specific device on the SPI bus. The prototype for this function is:
int spi_read( int fd,
uint32_t device,
void *buf,
int len );
The arguments are:
- fd
- The file descriptor returned by spi_open().
- device
- The device ID with at most one of the following flags optionally ORed in:
- SPI_DEV_LOCK
- SPI_DEV_UNLOCK
- buf
- A pointer to the read buffer.
- len
- The length, in bytes, of the data to be read.
The function returns the number of bytes of data that it successfully read from the device. If an error occurred, the function returns -1 and sets errno:
- EIO
- The read from the device failed, or a hardware error occurred.
- EINVAL
- The device ID is invalid, or you're trying to unlock a device that isn't locked.
- ENOMEM
- Insufficient memory.
- EPERM
- The device is locked by another connection.
An SPI driver typically considers it to be an error if the number of bytes returned by this function isn't the same as the number of bytes it asked the function to read.
Page updated:
