你好:
我们在测试S32K314 BUSOFF的功能时,遇到一个问题。我们代码默认busoff 自恢复功能。然后为了实现手动快慢恢复效果,设置了一个函数,作为busoff 恢复调用。函数先设置模式 CAN_CS_Started。然后初始化邮箱内的数据内容为inactive,数据设置为0x08080000.这样的话,如果需要100ms busoff 恢复,那么在100ms任务中调用此函数,此函数会判断是否进入busoff,如果进入busoff状态,就会调用刚才的函数。
但是在测试过程中发现,当调用busoff的周期,较小于一定的CAN报文发送周期,会出现CAN报文直接停发。查看CAN_State_Error_Count,处于TX_passive 状态,不会再进入busoff。请问为什么CAN报文会停发?