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?