How to configure FlexCAN to avoid FLEXCAN_EVENT_RXFIFO_WARNING ?

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

How to configure FlexCAN to avoid FLEXCAN_EVENT_RXFIFO_WARNING ?

1,092 Views
1515190497
Contributor II

My Callback fuction :

void CAN_CallBack(uint8_t instance,
        flexcan_event_type_t eventType,
        uint32_t buffIdx,
        struct FlexCANState *driverState)
{
    if (eventType == FLEXCAN_EVENT_RXFIFO_COMPLETE)
    {
        CAN_Analyse(&gsCAN_RXMsg);
        FLEXCAN_DRV_Receive(INST_CANCOM1, 7, &gsCAN_RXMsg);
    }
}
when it recieve more than 8 frames data at the same time, the eventType will be FLEXCAN_EVENT_RXFIFO_WARNING, and then FLEXCAN_EVENT_RXFIFO_OVERFLOW.
How to configure FlexCAN to avoid FLEXCAN_EVENT_RXFIFO_WARNING ?
Tags (1)
0 Kudos
Reply
1 Reply

931 Views
PetrS
NXP TechSupport
NXP TechSupport

Hi,

to start receiving message into RXFIFO you need to use FLEXCAN_DRV_RxFifo() function. Within callback you use function for receiving into MB, moreover MB7, which is occupied by RXFIFO filter table. So try to use FLEXCAN_DRV_RxFifo(INST_CANCOM1,&gsCAN_RXMsg);

BR, Petr

0 Kudos
Reply