测试用例反复短路 CANH 和 CANL。
如果 S32K118 的负载较低,则恢复策略可以正常工作。
步骤1。Busoff 引发中断并设置标志。第2步。在主循环中,如果标志被设置,DeInit & Init CAN。步骤 3. 等待 100ms。步骤 4. 发送一帧数据。步骤 5. Busoff 再次加注。
但是当负载很高时(ADC 中断每 10 毫秒上升一次),出现不同的症状的概率非常低。开始的 4 个步骤是相同的。
步骤1。Busoff 引发中断并设置标志。第2步。在主循环中,如果标志被设置,DeInit & Init CAN。步骤 3. 等待 100ms。步骤 4. 发送一帧数据。
但是在第 5 步中,Busoff 中断没有被触发。相反,Busoff Done Int(ESR1 的第 19 位)被设置并且 ESR1 的 FLTCONF 从 0x00 变为 0x11,这意味着总线关闭状态。
不知道为什么CAN的状态变成了BusOff。但是 BufOff Int 标志(ESR1 的第 2 位)未设置。相反,Busoff Done Int 被设置。