How to configure FlexCAN to avoid FLEXCAN_EVENT_RXFIFO_WARNING ?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

How to configure FlexCAN to avoid FLEXCAN_EVENT_RXFIFO_WARNING ?

1,209 次查看
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 ?
标记 (1)
0 项奖励
回复
1 回复

1,048 次查看
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 项奖励
回复