CAN RX Fifo Format C set up

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

CAN RX Fifo Format C set up

243 Views
sophie-wang
Contributor III

Hello NXP Expert,

I want use flexcan fifo( id filter with format c ) receive can messageI set id filter in the following code:

 

uint32_t rxFifoFilter[] = {FLEXCAN_RX_FIFO_STD_FILTER_TYPE_C_HIGH(0x433) | \

                                   FLEXCAN_RX_FIFO_STD_FILTER_TYPE_C_MID_HIGH(0x512) | \

                                   FLEXCAN_RX_FIFO_STD_FILTER_TYPE_C_MID_LOW(0x654) | \

                                   FLEXCAN_RX_FIFO_STD_FILTER_TYPE_C_LOW(0x332)    \

};

flexcan_rx_fifo_config_t rxFifoConfig;

rxFifoConfig.idFilterTable = rxFifoFilter;

rxFifoConfig.idFilterType  = kFLEXCAN_RxFifoFilterTypeC;

rxFifoConfig.idFilterNum   = sizeof(rxFifoFilter) / sizeof(rxFifoFilter[0]);

rxFifoConfig.priority      = kFLEXCAN_RxFifoPrioHigh;

FLEXCAN_SetRxFifoConfig(FLEXCAN1, &rxFifoConfig, true);

 

I think the CAN message ID I received should be 0x430~0x437, 0x510~0x517, 0x650~0x657,0x330~0x337, but the CAN Message ID I received is out of this range(0x30~0x37, 0x1F8~0x1FF, 0x230~0x237, 0x330~0x337, 0x3F8~0x3FF, 0x430~0x437, 0x510~0x517, 0x5F8~0x5FF, 0x630~0x637, 0x650~0x657, 0x7F8~0x7FF),

 

Why did I receive an out-of-range ID?

 

Can you tell me how Fifo with ID Filter format C matches received ids?

 

What should I do if I want to use Fifo ID filters together with individmasks?

 

0 Kudos
0 Replies