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.

[参考译文] TMS570LC4357:需要示例代码、用于在 DCAN 1消息发送(IF1)和接收(IF2)中使用 DMA。

Guru**** 2442090 points
Other Parts Discussed in Thread: TMS570LC4357, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1352600/tms570lc4357-need-sample-code-for-using-dma-in-dcan-1-message-transmit-if1-and-receive-if2

器件型号:TMS570LC4357
主题中讨论的其他器件: HALCOGEN

您好!

我想使用接口寄存器 IF1来使用 DMA 发送 DCAN1消息、使用 IF2来使用 DMA 接收 DCAN1消息。
您能否提供用于初始化 DMA、IF1和 IF2寄存器的示例代码?

我遇到一个线程、表示将 DMA 与 IF1和 IF2结合使用是没有优势的。 是这样吗? 如果是,请详细说明。 此外、IF3是否只用于接收消息而不用于传输?

e2e.ti.com/.../faq-tms570lc4357-how-to-use-dma-for-can-message-transmit-and-receive

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

    Karthik、您好、

    DCAN IF1/IF2数据寄存器受到保护、不会在用户模式下写入、但 DMA 寄存器访问是在用户模式下执行的、因此 DMA 不能向 IF1/IF2数据寄存器写入数据。

    2.要使用 DMA 接收数据,建议使用 IF3。  

    此外,IF3是否仅用于接收消息而不用于传输?

    可以。

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

    感谢您的答复 。  

    我希望接收 CANA 消息、具体来说、来自具有不同 CAN 消息 ID 的两个邮箱、使用 DMA 和 IF3。 但是、我当前的 Halcogen 版本(04.07.01)缺少 DMA 初始化设置。 在这种情况下、您是否可以共享 TMS570LC4357的示例代码?  

    再次感谢。

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

    随附请查找一个 DMA 示例:

    e2e.ti.com/.../TMS570LC43x_5F00_CAN1_5F00_CAN2_5F00_IF3x.zip