【发布时间】:2020-12-09 07:48:57
【问题描述】:
我正在开展一个项目,该项目涉及支持 CAN 总线的 linux 嵌入式设备。
我注意到,如果我尝试在 CAN 总线上没有任何连接的情况下发送 CAN 数据包,则内核会自动重新尝试发送无限次。我可以使用范围验证这一点 - 相同的消息会一遍又一遍地自动传输。即使我关闭了创建消息的进程,即使这个进程只尝试传输一条消息,这种重新传输仍然存在。
我的问题是 - 这是 linux CAN 总线内核的正常行为吗?我担心的是,如果设备出现问题,并且错误地断定它是单独在公共汽车上,那么设备可能会淹没公共汽车,使其无法供其他公共汽车参与者使用。我原以为会有某种重试限制。
设备使用的是linux 4.14.48,can-chip是飞利浦SJA1000。
【问题讨论】: