Hello NXP Expert,
I want use flexcan fifo( id filter with format c ) receive can message,I 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?