HI,
I have a problem,MPC5745R FlexCAN only one MB can be used for transmit,the fine MB is the CAN_0.MCR.B.MAXMB definition,other MB can"t be used transmit.
Example :
if CAN_0.MCR.B.MAXMB=7,only MB[7] can transmit OK,
MB[6] can"t transmit ,debug error.
CAN_0.MB[6].CS.B.CODE = 0xC;
Whenever this statement is executed, an error will be reported
PE-ERROR: Warning. Can't read registers while part is running.
PE-ERROR: Warning. Can't read memory while part is running. @0 (4 bytes)
PE-ERROR: Warning. Can't read memory while part is running. @0 (4 bytes)
PE-ERROR: Warning. Can't read memory while part is running. @0 (64 bytes)
PE-ERROR: Warning. Can't read memory while part is running. @40 (64 bytes)
PE-ERROR: Warning. Can't read memory while part is running. @ffeb00e0 (4 bytes)
Development environment is S32DS 2017.R1
Debugger tool is PE USB Multilink.
Hi Peter,
As you say ,i called Transmit_Message() just once ,but the result is same .Buf7I transmit OK,BUF6I transmit error.
In IFLAG1 register BUF7I bit is set 1,the BUF6I bit can"t see ,debugger is error.
CAN_0.MB[6].CS.B.CODE = 0xC; This code cannot be executed
Transmit data frame command can"t be write.
But i try write 0 to CAN_0.MB[6].CS.B.CODE = 0; ,the code is executed.
In addition,if i change CAN_0.MCR.B.MAXMB = 8 ,just BUF8I can transmit ,other can"t
as same ,if CAN_0.MCR.B.MAXMB = 63 , just BUF63I can transmit ,other can"t