linux c socketcan等待传输缓冲区为空

linux c socketcan等待传输缓冲区为空,c,linux,can-bus,socketcan,C,Linux,Can Bus,Socketcan,有没有办法用原始socketcan检查空的传输缓冲区 编辑:或者有没有办法使socketcan阻塞,直到当前帧被发送,这将达到相同的目的 (动机:我正在通过can编写mcu闪存工具。bootloader规范要求在发送一定数量的数据后等待一段时间,以便写入闪存。根据总线负载的不同,数据的发送可能更快或更慢。)SocketCAN sockets只能阻塞,直到帧被放入套接字缓冲区(尽管有关一些微妙的复杂情况,请参见中的第3.4节) 如果要发现帧是否成功发送,请启用CAN\u RAW\u RECV\u

有没有办法用原始socketcan检查空的传输缓冲区

编辑:或者有没有办法使socketcan阻塞,直到当前帧被发送,这将达到相同的目的


(动机:我正在通过can编写mcu闪存工具。bootloader规范要求在发送一定数量的数据后等待一段时间,以便写入闪存。根据总线负载的不同,数据的发送可能更快或更慢。)

SocketCAN sockets只能阻塞,直到帧被放入套接字缓冲区(尽管有关一些微妙的复杂情况,请参见中的第3.4节)

如果要发现帧是否成功发送,请启用
CAN\u RAW\u RECV\u OWN\u MSGS
socket选项,等待收到设置了
MSG\u CONFIRM
标志的已发送帧。有关更多详细信息,请参阅。

根据“如果发送缓冲区已满,发送消息将不会阻塞,但将返回错误代码”.只是补充说明。