Hi all,
I am working on a project to route CAN messages. I found out that CAN write block by default has arbitration process, which choose highest-priority CAN message buffer to send first. I want to change it to lowest-number message buffer to send first.
After I read document, there are some lines:
73.3.3.1
Lowest-number message buffer first
"If CTRL1[LBUF] is 1, the first (lowest number) active transmission message buffer found is the arbitration winner. MCR[LPRIOEN] has no effect when CTRL1[LBUF] is 1."
So I am trying to write CTRL1[LBUF] to 1. I believe that I need to change to Freeze Mode.
"MCR[FRZ] must be 1 and the module must not be in a low-power mode"
"After requesting Freeze mode, you must wait for MCR[FRZACK] to become 1 before executing any other action, otherwise FlexCAN may operate unpredictably. In Freeze mode, all memory-mapped registers are accessible."
I tried to write MCR[FRZ] to 1 but I failed to change to Freeze mode. Can anyone here have the knowledge about this? I appreciate it.
##S32K34 #FlexCAN #CAN #Route #AUTOSAR #NXP