如题,我在使用eCAN模块的时候,正常情况下都是没问题的。 但是其中有一个系列的电源板可能相对干扰比较大。在带电机运行过程中,我以20ms通讯一次的周期在两台机器之间进行CAN通讯。 大概运行几分钟后出现通讯掉线现象,经排查,发现所有发送邮箱都处于忙碌状态导致无法正常发送数据。 当周期改成200ms试,大概坚持了半个多小时还是出现了这个现象。 相同程序用在另外一款机器上就没有类似现象,估计是板件干扰比较大。 我想通过软件解决这个问题,试过在检测到所有邮箱出现忙碌状态后利用发送请求复位寄存器CANTRR强制终止数据发送。可惜没有成功,现象表现为:当前周期确实清除了忙碌状态,当下一个发送数据指令到来时,邮箱还是无法正常发送数据,又出现了一直处于忙碌状态。 请问,我需要怎么设置才能有效的解决这个干扰问题(偶尔的数据丢失是被允许的)。 如果实在不行的话是否可以在出现这个现象后重新初始化eCAN模块,不知道这样操作有没有作用。