regsofweb 发表于 2023-12-15 16:57:42

请教:Linux下的spidev可以用非阻塞方式发送吗

现在一个imx6ull的产品,有3路spi读写,每次发送数据160K
发送程序片段:

int fd; // 3个spi口的句柄

struct spi_ioc_transfer tr;

tr.tx_buf = (unsigned long)tx;
tr.rx_buf = (unsigned long)rx;
tr.bits_per_word = 16;
tr.len = len;
。。。。。。
for(int i=0;i<3;i++)
{
    ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr);
}

这里ioctl虽然底层也是用DMA发送的,但是ioctl确是阻塞方式,只能等一路发完才能下一路

请教有没有非阻塞的方式,启动3个spi的发送,然后查询标志或者用回调函数来结束


eric2013 发表于 2023-12-16 08:35:11

AI回复


页: [1]
查看完整版本: 请教:Linux下的spidev可以用非阻塞方式发送吗