MPC5748G CANFD RXIMR does not work

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

MPC5748G CANFD RXIMR does not work

771件の閲覧回数
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 件の賞賛
返信
0 返答(返信)