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:在 CM 中使用 UDMA 时、UART 发送中断触发器

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/982963/tms320f28388d-uart-transmit-interrupt-trigger-when-using-udma-in-cm

器件型号:TMS320F28388D

尊敬的、

我正在 F28388D CM 内核上转出 UART 模块的驱动程序。

尝试传输 n 字节数据时遇到问题。  

当 我的数据传输完成时、我启用 UART 中的 UART_INT_DMATX 来触发中断、但它在发送2个字节的数据后进入中断服务例程、并且在我的数据传输完成时触发第二个中断。

当它首次进入我的 ISR 时、我执行 UART_getInterruptStatus (UART0_BASE、UART_Pasked_INT);并且可以看到 DMATXMIS 已置1、但 DMA 尚未完成传输。

是否有办法解决第一个不需要的触发中断的问题?

此致、

Aleksandar

 

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

    您好、Aleksandar、

    [引用] 当 数据传输完成时、我启用 UART 中的 UART_INT_DMATX 来触发中断、但在发送2个字节的数据后、它进入中断服务例程、并在数据传输完成时触发第二个中断。 [/报价]

    发送2个字节的数据是什么意思? 是从 UART 到外部字还是从 DMA? 请注意、只要 DMA 将特定数量的数据复制到 FIFO 中、就会生成 DMA DONE、UART 可能需要一段时间才能将所有数据发送出去。 请参阅 UART 章节中的以下注释-

    此致、

    Vivek Singh

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

    您好、Singh、

    好的、我看到了我的错误、我认为 DMATXRIS 是为了表示完全传输竞争。

    我在 UARTCTL 中启用了 EOT、我的代码现在可以正常工作。

    只需对发送的 UART 章节的一个快照进行一次校正、UARTIM 寄存器中没有 EOTIM 位、当 EOT 被启用时、它就会设置 TXRIS。

    此致、

    Aleksandar