请教: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的发送,然后查询标志或者用回调函数来结束
AI回复
页:
[1]