是否有任何方法可以指示 DMA 的来源或目标的间接寻址方法?
我想知道 Ican 是否设置一个缓冲区、该缓冲区具有 DMA 将用作源站或目标的地址。 这种访问只允许我使用一 个触发源和一个 DMA 来执行一些复杂的操作、否则需要很多 DMA
例如 、我 想 配置如下内容:
pointerAddsesDestination[]={&Port1、&PORT3、&port8、&port2、&PORT3、 &port2、&PORT7}
我觉得这种功能可以大大提高 DMA 的功耗。
谢谢!
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.
是否有任何方法可以指示 DMA 的来源或目标的间接寻址方法?
我想知道 Ican 是否设置一个缓冲区、该缓冲区具有 DMA 将用作源站或目标的地址。 这种访问只允许我使用一 个触发源和一个 DMA 来执行一些复杂的操作、否则需要很多 DMA
例如 、我 想 配置如下内容:
pointerAddsesDestination[]={&Port1、&PORT3、&port8、&port2、&PORT3、 &port2、&PORT7}
我觉得这种功能可以大大提高 DMA 的功耗。
谢谢!
[引用用户="Oscar Sanz"]
例如 、我 想 配置如下内容:
pointerAddsesDestination[]={&Port1、&PORT3、&port8、&port2、&PORT3、 &port2、&PORT7}
[/报价]
您为什么需要它?
MSP430 DMA 正在传输期间停止 CPU、并且将花费2个 CPU 周期来复制一个字节/字。 如果没有 DMA、CPU 可以在2个周期内读取端口、在3个周期内写入端口。 简而言之,它不是为这项工作而做的。
如果您需要速度、那么您可以检查 Cortex-M0+器件、这些器件可以在一个 CPU 周期(在48MHz MCLK 上)内进行写入/读取。 如果您需要创建自己的接口、无需 CPU 干预即可工作、例如 NXP 器件中有 FlexIO。