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