SPI_IOC_MESSAGE(1)

SPI_IOC_MESSAGE(N)一次进行双向/多次读写操作。 这个“一次进行双向/多次读写操作”什么意思? 5

SPI应用编程中:
SPI_IOC_MESSAGE(N)
一次进行双向/多次读写操作。使用的方式如下:
struct spi_ioc_transfer xfer[2];
......
status = ioctl(fd, SPI_IOC_MESSAGE(2), xfer);

这个“一次进行双向/多次读写操作”什么意思?
/*数据读写*/
static int spi_write_read(int fd, const char *wrbuf, unsigned int wrlen,
char *rdbuf, unsigned int rdlen)
{
int ret = 0;
struct spi_ioc_transfer tr[2] = {
{
.tx_buf = (unsigned long)wrbuf,
.rx_buf = 0,
.len = wrlen,
.speed_hz = 500000,
},
{
.tx_buf = 0,
.rx_buf = (unsigned long)rdbuf,
.len = rdlen,
.speed_hz = 500000,
},
};

ret = ioctl(fd, SPI_IOC_MESSAGE(2), tr);

return ret;
}
什么意思?从哪里读到哪里?从哪里写到哪里?
posted @ 2021-11-13 00:25  xmydis  阅读(3936)  评论(0)    收藏  举报