我非常理解CAN协议是如何工作的 - 当两个节点同时尝试使用网络时,较低的id帧可以获得优先级,而另一个节点可以检测到这一点并暂停。套接字如何处理仲裁?
使用socketcan时,这似乎被抽象出来 - 我们只需像任何文件描述符那样进行书写和读取。我可能会误解某些内容,但我已阅读了大部分文档(http://lxr.free-electrons.com/source/Documentation/networking/can.txt),我不认为它是明确描述的。
是否write()阻塞,直到我们的帧是最低的id帧,还是socketcan可以缓冲帧,直到网络准备就绪?如果是这样,用户是否会在发生这种情况时通知我们,或者我们是否使用环回来做这件事?
我知道很长一段时间过去了。你有没有找到答案? – mik1904