当我的应用程序启动时,总​​线可以关闭吗使用 linux socketCAN

问题描述

我正在尝试运行我的应用程序,但它在启动程序时关闭并且 can-bus 变为总线关闭。 我的应用程序从几个设置开始。所以它发送了很多命令,如“设置全局参数”和“设置轴参数”。

如果我减少这些命令,它就会变成错误被动。 (我用命令 $ip -details -statistics link show can0 检查它) 但稍后它会变成总线关闭。 如果我使用命令 $ifconfig can0 down , $ifconfig can0 up ,它会起作用。 然而,它在几分钟内再次下降。 我想防止can总线错误

搜索了大量数据并测试了所有内容。 首先,我认为我的应用程序有问题。 所以我用几个奴隶测试了相同的设置。效果很好。
worked fine one
很抱歉我没有拍到失败的那张。无论如何它有很多TX错误......

然后我想可能是通讯电缆有问题。 因此,我从失败的电缆中拔出所有电缆,并在我的测试台上进行检查。 我的应用程序启动时没有错误并且工作正常。 这不是电缆长度或终端位置的问题。

现在我不知道是什么问题。 收发器差异是否有问题? 我的主机收发器是 ADM3053,从机收发器是 TJA1051T。 我已经搜索了这些,但我认为没有问题。

或者当应用程序发送消息太快时 SocketCAN(linux) 无法处理? 它适用于很少的奴隶,但拒绝了 20 个奴隶。

如你所见,我完全迷失了。请帮忙。 有什么我必须检查或需要做的事情吗?

很抱歉,我的写作真的一团糟,我是新来的。

大师:Linux with arm-64,使用socketCAN 从机:电机使用CAN2.0(标准未扩展)协议

如果您需要更多信息,请告诉我,我会立即给您

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)