This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F280039C: Read from a DCAN FIFO buffer

Part Number: TMS320F280039C

Dear Champs,

I am asking this for our customer.

The user is trying to comprehend below but still fails to implement reading a DCAN FIFO buffer successfully.

Do we have any example or code snippet to illustrate below "28.11.12 Reading from a FIFO Buffer" in the TRM?

We are aware of the errata of "DCAN: During DCAN FIFO Mode, Received Messages May be Placed Out of Order in the FIFO Buffer"

https://www.ti.com/lit/pdf/sprz496

It will be good if there is also an example of using DMA to read this DCAN FIFO.

That is, either or both examples will be highly appreciated.

  • Wayne, 

    The procedure for reading from a FIFO buffer is exactly the same as reading from a single receive message object. FIFO buffer is just multiple receive message objects configured to receive messages with the same message identifier. 

    You just have to implement a loop to check the NewData flag for each message object in the buffer and read all those message objects in ascending order of the message objects. If you only want to read the messages after the entire FIFO is filled, you can enable receive interrupt for only the last receive message object in the FIFO and in the ISR, directly read all the message objects in the buffer.  

    It does not require any extra processing. 

    Please let us know if you face any issues in the implementation of the same. 

    Thanks.