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:从 DCAN FIFO 缓冲器读取

Guru**** 2040210 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1312298/tms320f280039c-read-from-a-dcan-fifo-buffer

器件型号:TMS320F280039C

亲爱的香榭丽舍大街,

我是为我们的客户提出这个问题的。

用户正在尝试理解以下内容、但仍然无法成功实现 DCAN FIFO 缓冲区读取。

我们是否有任何示例或代码片段来说明 TRM 中的"28.11.12从 FIFO 缓冲区中读取"?

我们了解了勘误表"DCAN:在 DCAN FIFO 模式下、接收到的消息可能会被放置在 FIFO 缓冲器中不按顺序"

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

如果还有使用 DMA 读取该 DCAN FIFO 的示例、效果会很好。

也就是说、非常感谢这两个例子中的任何一个或两个。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wayne、;  

    读取 FIFO 缓冲区的步骤与读取单个接收报文对象的步骤完全相同。 FIFO 缓冲区就是配置为接收具有相同消息标识符的消息的多个接收消息对象。  

    您只需执行一个循环来检查缓冲区中每个消息目标的 NewData 标志、并按消息目标的升序读取所有这些消息目标。 如果只想在整个 FIFO 填满后读取报文、可以仅为 FIFO 中最后一个接收报文对象启用接收中断、在 ISR 中则可以直接读取缓冲区中的所有报文对象。   

    不需要任何额外处理。  

    如果您在实施相同协议时遇到任何问题、请告知我们。  

    谢谢。