I am using a STM32F446. I have verified this issue exists on both the nucleo dev board and my custom PCB.
When writing to either can1 or can2, if there is a moderate bus load (500+ frames per second) then I am constantly getting tderror’s.
Initially the bus would just turn off after getting 255 tderrors (happens in a few second), however by enabling ABOM as per: CANBUS gets flooded with tderror and rderror - #2 by hudakz
The canbus automatically recovers. However this is a bodge solution, and will not work for my application as the time it takes the can bus to recover causes another ECU to timeout.
Is there a way to ignore transmit errors without a can reset?