我是 SocketCan 的新手。我正在使用虚拟 jar ,我想知道 SocketCAN 是否根据 CAN ID 进行优先级排序。我的问题是,因为我使用的是虚拟 jar ,所以我发送数据,然后立即收到发送的数据。我将尝试创建一个负载,我希望具有较低 CAN ID 的 CAN 帧在队列中等待更长时间,并且它们将在高优先级帧之后被接收。那么,SocketCAN 是否管理这种优先级排序?
最佳答案
SocketCAN 确实处理实际 CAN 接口(interface)上的仲裁,这些接口(interface)是时间触发的并且具有比特率。仲裁是必要的,以允许较高优先级的消息在传输过程中中断较低优先级的消息,并强制较低优先级的消息等待。
vcan接口(interface)不是时间触发的,没有实时硬件,没有比特率,在多任务系统上没有消息冲突的机会,因此不需要仲裁。 vcan 消息以您的处理器可以计算位的速度“发送”和“接收”。
关于c - SocketCan Can ID 优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27930511/