硬汉嵌入式论坛

 找回密码
 立即注册
查看: 560|回复: 1
收起左侧

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

[复制链接]

5

主题

11

回帖

31

积分

新手上路

积分
31
发表于 2023-12-15 16:57:42 | 显示全部楼层 |阅读模式
现在一个imx6ull的产品,有3路spi读写,每次发送数据160K
发送程序片段:

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

struct spi_ioc_transfer tr[3];

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

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

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


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2023-12-16 08:35:11 | 显示全部楼层
AI回复

12.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-28 15:45 , Processed in 0.254576 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表