0

我是 SocketCan 的新手。我正在使用虚拟罐,我想知道 SocketCAN 是否基于 CAN ID 进行优先级排序。我的问题是,由于我使用的是虚拟罐,我正在发送数据,然后我立即收到发送的数据。我将尝试创建一个负载,我希望具有较低 CAN ID 的 CAN 帧在队列中等待更长时间,并且它们将在高优先级帧之后被接收。那么,SocketCAN 是否管理此优先级?

4

1 回答 1

1

SocketCAN 确实处理实际 CAN 接口上的仲裁,这些接口是时间触发的并具有比特率。仲裁是必要的,以允许较高优先级的消息在传输过程中中断较低优先级的消息,并强制较低优先级的消息等待。

vcan 接口不是时间触发的,没有实时硬件,没有比特率,在多任务系统上没有消息冲突的机会,因此不需要仲裁。vcan 消息以处理器可以计数的速度“发送”和“接收”。

于 2016-10-13T16:22:51.237 回答