AnsweredAssumed Answered

s32k144 can0 id filter

Question asked by shingo zhou on Mar 14, 2018
Latest reply on Mar 15, 2018 by shingo zhou

hello,

   I want to recevie messages using CAN0, and the stadard ID of these message include 16 fixed ID (like 0x302, 0x040, 0x375...)and other all ID between 0x400 to 0x47F.
   Configue the key regesters as following:

      1.CTRL2[RFFN] = 0x08;

      2. set RX individual mask, CAN0->RXIMR[i] = 0xFFFFFFFFu,(which i = 0,1,2...15); CAN0->RXIMR[16] =             (((uint32_t)0x780) << CAN_ID_STD_SHIFT) & CAN_ID_STD_MASK;

      3.and then set the id_filter_table = {0x302, 0x040, 0x375,...0x400};

      4.call the library function FLEXCAN_SetRxFifoFilter(CAN0, FLEXCAN_RX_FIFO_ID_FORMAT_A, &id_filter_table);

The result were strange :

       MCU could receive ID:0x400, 0x401, but could not receive 0x402, 0x403.... the configution is fault?

 

How could configue the MCU regesters to receive the message ID between 0x400 to 0x47F?

Outcomes