I am using S32K144 FlexCAN module. I met a problem now:
When I debug my source code, I set several break points. Every time when I start to run the SW after it stopped at a break point, then it will stop to send CAN messages. I want to know the root cause and how to avoid this case.
Thank you very much~~
Hi,
Please see Section 53.5.11.1 RM rev.8 Freeze mode.
“This mode is requested either by the CPU through the assertion of the HALT bit in the CAN_MCR Register or when the chip is put into Debug mode. In both cases it is also necessary that the FRZ bit is asserted in the CAN_MCR Register and the module is not in a low-power mode.”
Freeze Enable is enabled by default MCR[FRZ] = 1.
And it will be disabled if you clear that bit.
Regards,
Daniel
hi Daniel,
I have tried to enable Freeze Mode, it works.
But I met another problem now: My ECU will receive 24 messages from vehicle and 3 messages for transmission. 2 messages are 20ms period(ID: 0x190, 0x191),the third one is 500ms period(ID: 0x390). Sometimes when I start ECU, message 0x390 cannot be sent, but sometimes it is OK. Do you have any idea about this?
ps: Current BusLoad is 25.9%.
Check for NOSTALL bit.
make it high.
Hope it helps..
Regards,
Pritam.