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.

[参考译文] MSPM0G3507:具有早期通道中断的 DMA 不会提前中断触发

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1391759/mspm0g3507-no-early-interrupt-firing-for-dma-with-early-channel-interrupt

器件型号:MSPM0G3507
主题中讨论的其他器件:MSPM0L1306SysConfig

工具与软件:

您好!

我遇到的情况似乎与论坛中的"MSPM0L1306:早期通道中断阈值设置为传输大小的一半时 DMA 不提前中断触发"相同。 我也无法获得"DL_DMA_FULL_CH_EVENT_IIDX_EARLY_IRQ_DMACH0"的响应、但我可以接收到它。 "DL_DMA_EVENT_IIDX_DMACH0"
论坛中的解决方案是:在 initChannel 调用后手动设置 DMAPREIRQ。 具体行动是什么? 我尝试设置 DMA (在 SYSCFG_DL_DMA_CH0_init (中、DL_DMA_initChannel 除外)、并在 SYSCFG_DL_init ()之后设置它、但不起作用。 请告诉我如何解决!

谢谢你!!

FB

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

    SysConfig 生成的代码存在一些问题。 它应该将  DL_DMA_3079 Full_Ch_ EarlyInterruptThreshold()放置在 DL_DMA_initChannel()之后。

    为了解决这个问题,我建议你  Full_Ch_在 SYSCFG_DL_init ()之后调用 DL_DMA_357EarlyInterruptThreshold()

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

    谢谢伊森! 它现在可以运行了!