AnsweredAssumed Answered

FlexCAN RX FIFO with Extended 29-Bit CAN IDs not Working

Question asked by gbrowne on Mar 21, 2018
Latest reply on Mar 22, 2018 by gbrowne

Hello.

 

I have run tests on the S32K144 with sending and receiving both standard (11-bit) and extended (29-bit) ID CAN frames.  What I have found is that I cannot receive extended ID frames when I use the RX FIFO, but I can receive standard ID frames.

 

Also, I can receive both standard and extended ID frames if I receive into a specific message buffer (i.e. the non-FIFO method).

 

So, is there something special to setting the RX FIFO to receive extended ID frames?  Is there working sample code for receiving extended ID frames with the RX FIFO?

 

Here is a general overview of my routines:

 

RX FIFO Routine (which only works for standard 11-bit ID frames):

FLEXCAN_DRV_Init(...)

FLEXCAN_DRV_SetRxMaskType(...)

FLEXCAN_DRV_SetRxFifoGlobalMask(...)

FLEXCAN_DRV_ConfigRxFifo(...)

FLEXCAN_DRV_ConfigTxMb(...)

FLEXCAN_DRV_Send(...)

FLEXCAN_DRV_RxFifoBlocking(...)

 

Specific Message Buffer Routine (which works for both standard 11-bit and extended 29-bit ID frames):

FLEXCAN_DRV_Init(...)

FLEXCAN_DRV_SetRxMaskType(...)

FLEXCAN_DRV_SetRxMbGlobalMask(...)

FLEXCAN_DRV_ConfigRxMb(...)

FLEXCAN_DRV_ConfigTxMb(...)

FLEXCAN_DRV_Send(...)

FLEXCAN_DRV_ReceiveBlocking(...)

 

Any insights would be much appreciated.

 

Thanks!

 

-Greg

Outcomes