大家好、
客户使用 UDMA 的 CH11和初级侧(SSI0TX)。 在 PeripheralScatterGather 模式下运行。
是否有方法可以验证所有流程都已完成?
他们尝试了以下方法、但不起作用。
-使用 uDMAChannelModeGet 函数进行检查
- HWREG 的确认状态寄存器(UDMA_STAT)
谢谢、此致、
Kuerbis
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.
大家好、
客户使用 UDMA 的 CH11和初级侧(SSI0TX)。 在 PeripheralScatterGather 模式下运行。
是否有方法可以验证所有流程都已完成?
他们尝试了以下方法、但不起作用。
-使用 uDMAChannelModeGet 函数进行检查
- HWREG 的确认状态寄存器(UDMA_STAT)
谢谢、此致、
Kuerbis
Kuerbis、您好!
如果他们正确配置了代码、那么他们应该得到一个针对这个的中断:
当 μ μDMA 控制器检测到来自外设的请求时、将使用主控制结构体从列表中拷贝一个数据单元到副控制结构体中、然后执行相应的传输。 传输结束后、只有当外设再次产生 μ μDMA 请求时、才会开始下一个传输。 μ μDMA 控制器仅在外设发出请求时才会继续执行列表中的传输、直到最后一次传输完成。 只有在最后一次传输结束后才会产生一个完成中断。
此外:
当某个外设使能 μ μDMA 后、μ μDMA 控制器会停止某个外设的正常传输中断到达中断控制器(中断仍在该外设的中断寄存器中报告)。 因此、当使用 μ μDMA 传输大量数据时、中断控制器不会随着数据流从外设接收多个中断、而是在传输完成时仅接收一个中断。 未屏蔽的外设错误中断继续发送到中断控制器。
当 μ μDMA 通道产生一个结束中断时、DMA 通道中断状态寄存器(DMACHIS)(见623页)中与外设通道相对应的 CHIS 位置位。 外设中断处理程序代码可以使用该寄存器来确定中断是由 μ μDMA 通道引起的、还是由外设中断寄存器报告的错误事件引起的。 当中断处理程序被激活时、μ μDMA 控制器发出的完成中断请求将自动清零。
他们在这里寻找的是什么、还是有什么不同? 它们是否为 DMA 配置了中断?