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.

[参考译文] TMS320F28388D:将 DMA 用于 SCI TX

Guru**** 2430620 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1545539/tms320f28388d-using-dma-for-sci-tx

器件型号:TMS320F28388D
主题:SysConfig 中讨论的其他器件

工具/软件:

您好:

我想使用 SCI UART TX 和 GPIO 29 作为发送端口、但要使用 DMA 通道来实现。

C2000 示例文件夹中没有相关示例(或者至少我找不到此类示例)

我只找到了“sci_ex1_loopback"示“示例、并且能够使用 syscfg 文件将该示例的 GPIO 端口从 135 更改为 29。

这是很好的。

是否可以更改此工程并将 DMA 用于 TX?

谢谢。

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

    尊敬的 Yair:

    没有直接 DMA 触发器链接到该器件上的 SCI 外设硬件。 您可以从 SCI 中断中设置软件 DMA 触发器并强制执行这些触发器。

    您可以参考 SCI_ex2_loopback_interrupts 若要设置 SCI 中断(同样也可以通过 SysConfig 完成)、您可以查看 中的示例 DMA/  有关如何设置软件触发的 DMA 通道的参考目录

    此致、

    Arnav

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

    您好:

    感谢您的回答、在 dma 示例文件夹中、我有“dma_ex1_gsram_transfer"和“和“dma_ex2gsram_transfer"示“示例。

    这些很好的示例是否有助于了解如何设置软件触发的 DMA 通道?

    您是否在谈论 DMA_forceTrigger (DMA_CH6_BASE) 函数?

    但如何使用 DMA 将数据按如下方式推送到 SCI?

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

    是的、您可以参考这些示例以获取有关如何设置 DMA 配置、源地址和目标地址等的参考代码 是的、这就是我所说的功能。

    在本例中、目标地址将是发送缓冲区 ( SCITXBUF )。 可以根据 FIFO 深度和需要传输的字数调整突发数据和传输大小配置。

    此致、
    Arnav

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

    好的、谢谢。

    我把“dma_ex2_gsram_transfer"示“示例程序中 initdma() 的函数添加到我的“sci_ex1_loopback"中“中、  

    我尝试将 destAddr 的行更改为:

    DESTAddr =(const void *) SCITXBUF;  

    但编译器无法正常工作、对 SCITXBUF 标识符不熟悉。

    你知道我该如何去信 SCITXBUF 吗? 就像我正确理解您一样、这是用于发送 SCI 的寄存器的地址?

    谢谢

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

    我是否朝着解决这个问题的方向发展? 或者 Im 完全不在方向上...?

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

    SCITXBUF 是 SCI 寄存器的命名、您需要参考该寄存器对应于 SCI 实例的实际地址。 例如、对于 SCIA、它将为 0x7209 (0x7200 + 0x9)

    此致、

    Arnav

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

    谢谢,我会尝试这个