MPC5748G CANFD RXIMR does not work

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MPC5748G CANFD RXIMR does not work

429 Views
Ada_Lovelace
Contributor IV

Hi,all

I configurate the MPC5748G : CANFD mode ,  IRMQ=1 , FDEN=1;

CAN_1.FDCTRL.B.MBDSR0 = 3; /* MB data size for R0 is 64 Bytes */
CAN_1.FDCTRL.B.MBDSR1 = 3; /* MB data size for R1 is 64 Bytes */
CAN_1.FDCTRL.B.MBDSR2 = 3; /* MB data size for R2 is 64 Bytes */

CAN_3.MCR.B.MAXMB = 0x14; /* Select 20 MBs */'

I use the tx and rx  interrupts,

If I configurate  CAN_3.RXIMR[i].B.MI=0; I can receive the meassage.

Now I want to receive the fixed id,so as 0x2d5,

CAN_3.MB[mb].CS.B.CODE = 0x0; //MB inactive
CAN_3.MB[mb].CS.B.IDE = 0x0; //receive STD ID
CAN_3.MB[mb].CS.B.BRS = 1;
CAN_3.MB[mb].CS.B.EDL = 1;
CAN_3.MB[mb].ID.R = 0x2d5; //set standard ID
CAN_3.MB[mb].CS.B.RTR = 0x0;
CAN_3.MB[mb].CS.B.SRR = 0x0;

CAN_3.MB[mb].CS.B.CODE = 0x4;

CAN_3.RXIMR[i].B.MI=0x1FFFFFFF;

CAN_3.IFLAG1.R= 0xFFFFFFFF;
CAN_3.IMASK1.R = 0xFFFFFFFF;
CAN_3.IFLAG2.R= 0xFFFFFFFF;
CAN_3.IMASK2.R = 0xFFFFFFFF;

But code does not make the interrupts, I debug to see the register,RXIMR has been seted to 0x1FFFFFFF in the Freeze mode.

I search the community,so I change:CAN_3.RXIMR[i].B.MI=0x7ff; But It  does no work.

What should I check it to make it work,make the filter right?1.png2.png3.png4.png

0 Kudos
Reply
0 Replies